我目前正在使用
$string = 'bla bla bla #hashtag bla bla http://example.com/1-page.html#thisisnotahashtag';
$string = preg_replace("/(#\w+)/", '<a href="search.php?hashtag=$1">$1</a>', $string);
echo $string;
退货: bla bla bla <a href="search.php?hashtag=#hashtag">#hashtag</a> bla bla http://example.com/1-page.html<a href="search.php?hashtag=#thisisnotahashtag">#thisisnotahashtag</a>
效果很好,但它也会削减URL。我有第二个替换调用,它使URL可点击超链接。但是使用这个脚本,它会削减网址。
答案 0 :(得分:-1)
你可以尝试这件事:(我对php
并不是很好,主要针对regex
部分)
$string = preg_replace("/([^html]#\w+)/", ' <a href="search.php?hashtag=$1">$1</a>', $string);
答案 1 :(得分:-1)
$string = preg_replace("/(#\w+)/", '<a href="search.php?hashtag=$1">$1</a>', $string, 1);
第四个参数1
指定limit
。
Limit
:每个主题字符串中每个模式的最大可能替换次数。默认为-1(无限制)。 请参阅HERE