-2

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)'

ただし、を使用して何も出力されません$1$1間違って使用していますか?

これを出力する必要があります:<h2>Bens (<a href="http://example.com/search/term:#ben">ben</a>) cat</h2>

4

1 に答える 1

6

後方参照を参照するには、キャプチャグループが必要です$1

preg_replace('/(#[\d\w]+)/', ... 
               ^        ^

このデモで動作することを確認してください。

于 2012-09-13T13:19:00.850 に答える