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

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

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
5.08.2008 00:35:17
4 ОТВЕТА
РЕШЕНИЕ

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

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
57
9.02.2017 19:21:31
@ Gumbo: отвечать на ваши собственные вопросы очень хорошо, даже поощряется, если вопрос не является дубликатом другого на сайте.
Bill the Lizard 23.06.2009 18:00:09
$1Бит в строке замены является то , что я нуждаясь. Спасибо!
rinogo 20.12.2019 18:05:25

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

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

Смотрите пример Флуббы.

8
5.08.2008 01:39:36

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

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

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

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

30
25.10.2013 13:09:44

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

5
23.06.2009 17:54:51