使用preg_replace将<b> -tag包围在字符串的第一个单词周围

Joh*_*ith 4 php regex preg-replace

我的问题是,这个:

preg_replace('/(?<=\>)\b\w*\b|^\w*\b/', '<b>$&</b>', $string);
Run Code Online (Sandbox Code Playgroud)

不起作用,我不知道为什么!

它输出:<b>$&</b> example如果字符串是an example.这是错的.它应该是:<b>an</b> example

我使用http://gskinner.com/RegExr/生成了这个正则表达式代码.

我知道显然这$&不是正确的事情.但是我怎么能让它发挥作用呢?

你能给我一个提示吗?

Tim*_*imm 10

试试这个

preg_replace('/(?<=\>)\b\w*\b|^\w*\b/', '<b>$0</b>', $string);
Run Code Online (Sandbox Code Playgroud)

0美元意味着它将成为你的正则表达式中匹配的第一个东西,1美元将成为第二个等等.

你也可以使用反向引用;\0获得第一件事就是从你所在的地方回来,\ 1得到第二件事情回来等等.更多信息