我有这个文本"嗨,我叫谷歌,看看我的网页"我想用链接代替谷歌,例如谷歌我使用这个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>
中的文本有任何帮助请
您可以将str_replace更改为preg_replace。通过这种方式,可以运行regex以确保google之前的值不是/或>。
preg_replace('/(?<!['/>])google/i', '<a href="http://google.com/">google</a>', $text);