给关键字加超链接我们一般会用正则去替换。
但是问题来了,图片里面的alt里面有关键字也被替换成有链接的了。还有原本有超链接的文本也被替换了。
如电脑的使用,关键字有电脑二字,这条本不该被替换的,结果也被替换了。
如,关键字有电脑二字,这条本不该替换,结果电脑二字也被替换成有超链接的内容了。
电脑可以提高工作效率
注:希望“电脑”二字自动加超链接,如变成电脑可以提高工作效率
给个思路
$s =<<< TXT<p>电脑可以提高工作效率</p> 注:希望“电脑”二字自动加超链接,如变成<p><a href="ss.html">电脑</a>可以提高工作效率</p> <a href="ss.html">电脑的使用</a> 注:不希望“电脑”二字加超链接<img alt="电脑配件" src="aa.jpg" /> 注:不希望电脑二字加超链接TXT;$p = '/((?:^|>).*?)(电脑)([^<]*(?:<(?!\/a)|$))/is';echo preg_replace($p, '$1【$2】$3', $s);
【电脑】可以提高工作效率
注:希望“【电脑】”二字自动加超链接,如变成电脑可以提高工作效率