Pol*_*nby 53 php regex preg-replace html-parsing
我试图抓住几个单词的大写字母并将它们包裹在span标签中.我使用preg_replace进行提取和包装,但它没有输出任何东西.
preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)
Run Code Online (Sandbox Code Playgroud)
Pol*_*nby 52
您需要将模式放在括号中/([A-Z])/,如下所示:
preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str)
Run Code Online (Sandbox Code Playgroud)
Joh*_*hat 29
\0 也将匹配整个匹配的表达式,而不使用括号进行显式捕获.
preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str)
Run Code Online (Sandbox Code Playgroud)
与往常一样,您可以访问php.net/preg_replace或php.net/<whatever search term>来快速搜索文档.说明文件:
\ 0或$ 0表示整个模式匹配的文本.
从php.net上的preg_replace文档:
替换 可能包含形式的引用\n或(自PHP 4.0.4起)$ n,后一种形式是首选形式.每个这样的引用将被第n个带括号的模式捕获的文本替换.
见Flubba的例子.