Всем привет. Есть такое вот Код (Text): $body = ""; $search = "#\[code=(html|php|css|js|sql)\](.*)\[/code\]#"; $replace = "<code class='$1'>$2</code>"; $body = preg_replace($search, $replace, $body); если в $body содержится Код (Text): [code=php]$s = "1";[ /code ] то заменяется на Код (Text): <code class='php'>$s = "1";</code> если Код (Text): [code=php]$s = "1";[ /code ]<br>[code=js]var s = "1";[ /code ] то на Код (Text): <code class='php'>$s = "1";[ /code ]<br>[code=html]var s = "1";</code> ([ /code ] без пробелов) как сделать так, чтобы во втором случае получалось Код (Text): <code class='php'>$s = "1";</code><br><code class='js'>var s = "1";</code> заранее спасибо
Когда же вы научитесь понимать, что жадные квантификаторы — это не прихоть разработчиков и не пустой блеф. PHP: <?php $body = ""; $search = "#\[code=(html|php|css|js|sql)\](.*?)\[/code\]#"; $replace = "<code class='$1'>$2</code>"; $body = preg_replace($search, $replace, $body); Кроме того, символ . не совпадает с началом новой строки.
Господа, нуждаюсь в помощи. Уже не первый час бьюсь, толку 0. Есть страница, получаемая curl'ом в странице повторяется такой код Жирным выделены те значения, которые надо выцепить. В статике (каждая строка отдельно) значение получить удается, а вот при парсинге целой страницы - нет. Буду рад помощи.