Версия для печати. Взято с сайта phpsql.ru

На главную   Назад   Вперед

Замена подстрок регулярными выражениями

Функция preg_replace () работает подобно preg_match (), но также заменяет совпавшие подстроки и возвращает результат. Давайте рассмотрим простой пример. Словом deb мы заменим любое соответствие регулярному выражению /fre+d/ в строке $s:

print preg__replace (“/fге+d/”,   “deb”,  $s) ;
Все это превосходно, но хотелось бы больше гибкости. Предположим, что вы хотите использовать часть исходной строки - вместо deb. В этом случае fred станет deb, freed - deeb и т.д. Чтобы сделать это, сгруппируйте нужную часть регулярного выражения, затем используйте обратную ссылку в заме-не, как показано в этом примере:
print preg_replace(“/fr(e+)d/”,   “d$lb”,  $s) ;
Группировка осуществляется круглыми скобками, а ссылка $1 означает, что нужно вставить первую группу. Если у вас есть больше одной группы, вы можете использовать ссылки $2, $3 и т.д. Все совпадение - это $0.

Примечание.
В старом синтаксисе обратные ссылки указывались с помощью обратного слеша, например \ 0, \ 1, \2.

 
Предыдущая   На главную   Следующая