Как я могу получить на матчах при использовании preg_replace в PHP? - PullRequest
52 голосов
/ 05 августа 2008

Я пытаюсь взять заглавные буквы пары слов и обернуть их в теги span. Я использую preg_replace для извлечения и упаковки, но ничего не выводится.

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

Ответы [ 4 ]

51 голосов
/ 05 августа 2008

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

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
28 голосов
/ 28 августа 2008

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

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

Как всегда, вы можете перейти на php.net / preg_replace или php.net/< независимо от условия поиска> для быстрого поиска документации. Quoth документация:

\ 0 или $ 0 относится к тексту, который соответствует всему шаблону.

8 голосов
/ 05 августа 2008

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

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

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

6 голосов
/ 23 июня 2009

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

...