Примеры preg replace
Пример регулярного выражения для многострочного текста
Для правильной работы в многострочном тексте нужно указать модификатор /s который присвоит метасимволу "точка" в шаблоне соответствие всем символам, включая переводы строк.
Пример: вырезать теги xml и то что внутри них:
<?php $s="Начало <xml>Вырезаемый текст</xml>нужный текст <xml>\nВырезаемый текст</xml> конец"; echo preg_replace("|\<xml[^>]*\>.*?\<\/xml\>|s", '', $s);
Выведет: Начало нужный текст конец
Пример: найти все ссылки в коде:
<?php $t="<p><a href=\"/lnk1.htm\">Анкор 1</a></p><p><a href=\"/lnk2.htm\">Анкор 2</a></p>"; preg_match_all("@.*?\<a href=\"(/[^\"]+)\"\>(.*?)\<\/a\>.*?@su",$t, $res, PREG_SET_ORDER); print_r($res); foreach($res as $v) echo "$v[1] - $v[2]".'<br>';
Выведет: /lnk1.htm - Анкор 1 /lnk2.htm - Анкор 2
\xnn - шестнадцатеричное число, состоящее из двух цифр.
\unn - шестнадцатеричное число, состоящее из четырех цифр.