Как я могу получить совпадения при использовании preg_replace в PHP?

Ответов: 4


50 ов принято

Вам нужно поместить шаблон в круглые скобки /([A-Z])/, например:

preg_replace("/([A-Z])/", "<span class="initial">$1</span>", $str)

26

также будет соответствовать всему согласованному выражению без явного захвата с использованием скобок.

preg_replace("/[A-Z]/", "<span class="initial">\0</span>", $str)

Как всегда, вы можете перейти на php.net/preg_replace или php.net/<whatever search term>, чтобы быстро найти документацию. Введите документацию:

0 или $ 0 относится к тексту, сопоставляемому всем шаблоном.


8 ов

Из документации preg_replace на php.net:

замена может содержать ссылки на форму n или (начиная с PHP 4.0.4) $ n, причем последняя форма является предпочтительной. Каждая такая ссылка будет заменена текстом, записанным в n-м скобках.

См. Пример Флубба.


6

Используйте круглые скобки вокруг желаемого захвата.

PHP, регулярное выражение, HTML-синтаксический, PREG замены,
Похожие вопросы
Яндекс.Метрика