ben*_*e89 -2 php regex preg-replace
我正在使用preg_replace()如下代码中所示.
$p = preg_replace('/#[\d\w]+/', '<a href="http://'.$_SERVER['HTTP_HOST'].'/search/term:'.str_replace('#', rawurlencode('%23'), '${1}').'">${1}</a>', $p);
$p will be a string like '(#ben)'
Run Code Online (Sandbox Code Playgroud)
但是,没有输出任何内容$1.我使用$1不正确吗?
应该输出这个: <h2>Bens (<a href="http://example.com/search/term:#ben">ben</a>) cat</h2>
您需要一个捕获组来引用反向引用$1:
preg_replace('/(#[\d\w]+)/', ...
^ ^
Run Code Online (Sandbox Code Playgroud)
看到它在这个演示中工作.