Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Можно ли исключить из обработки строку в preg_replace?
Форумы портала PHP.SU » PHP » Регулярные выражения » Можно ли исключить из обработки строку в preg_replace?

Страниц (1): [1]
 

1. Rooner - 09 Октября, 2012 - 11:00:26 - перейти к сообщению
Например есть простая регулярка. Необходимо чтобы preg_replace не обрабатывал то, что находится между тегами <b></b>. Можно ли так сделать?
PHP:
скопировать код в буфер обмена
  1. $res = '<div>это можно обрабатывать<b>это нельзя обрабатывать</b>это можно обрабатывать</div>это можно обрабатывать';
  2. $res = preg_replace("/(<div.+<\/div>)/Um", "<div class='red'>\$1</div>", $res);
2. Alho - 09 Октября, 2012 - 13:35:35 - перейти к сообщению
Так не получится.
Вариант трижды обрабатывать - один раз, если внутри нет <b>, от <div> до <b> и от </b> до </div>.
3. Rooner - 09 Октября, 2012 - 15:33:03 - перейти к сообщению
Ну ладно, сделал по-другому.

 

Powered by ExBB FM 1.0 RC1