如何使用链接替换关键字,但只能使用<a></a>之外的字词替换关键字

时间:2015-03-25 10:27:33

标签: php str-replace

我有这个文字 &#34;我的名字是谷歌检查我的页面&#34; 我想用链接替换google,例如google.com 我使用这个PHP函数str_replace

代码:

<?php
$text = 'hi my name is google check out my page';
echo str_replace ('google' , '<a href="http://google.com/">google</a>' , $text);

?>

这将输出

hi my name is <a href="http://google.com/">google</a>check out my page

如果我再次运行此代码的问题 输出将重复替换

hi my name is <a href="http://<a href="http://google.com/">google</a>.com/"><a href="http://google.com/">google</a></a>check out my page

我只想替换不在<a> or <img> 中的文字 任何帮助,请

1 个答案:

答案 0 :(得分:2)

您可以从str_replace更改为preg_replace。这样可以运行正则表达式以确保谷歌之前的值不是/或&gt;。

preg_replace('/(?<![\/>])google/i', '<a href="http://google.com/">google</a>', $text);