
你好,我遇到一个php程序正则给文章关键词自动加链接功能的难题
我有二个数组,分别保存了关键词和url,还有一篇文章,我需要对文章进行关键词替换加上链接$urls=array('url1','url2');//数组一,保存了链接$ke...
我有二个数组,分别保存了关键词和url,还有一篇文章,我需要对文章进行关键词替换加上链接
$urls= array('url1', 'url2'); // 数组一,保存了链接
$keywords = array('hello', 'helloworld'); // 数组二,保存了关键词
$article = 'hello world helloworld....'; // 文章内容同时包含两个关键词
我使用循环方式来进行的替换:
for ($i = 0; $i < count($url_arr); $i++) {
$urls[$i] = '<a href="' . $urls[$i] . '">' . $keywords[$i] . '</a>'; // 将关键词加上URL
$pattern = '/' . $keywords[$i] . '/'; // 正则模式
$article = preg_replace($pattern, $urls[$i], $article,1); // 替换
}
我的文章同时出现了关键词一 hello 和关键词二 helloworld,由于使用了循环替换,这样就会执行两次,导致替换的内容不太正确,请求一个良好的替换方法,不会出现重复。。。。。。 展开
$urls= array('url1', 'url2'); // 数组一,保存了链接
$keywords = array('hello', 'helloworld'); // 数组二,保存了关键词
$article = 'hello world helloworld....'; // 文章内容同时包含两个关键词
我使用循环方式来进行的替换:
for ($i = 0; $i < count($url_arr); $i++) {
$urls[$i] = '<a href="' . $urls[$i] . '">' . $keywords[$i] . '</a>'; // 将关键词加上URL
$pattern = '/' . $keywords[$i] . '/'; // 正则模式
$article = preg_replace($pattern, $urls[$i], $article,1); // 替换
}
我的文章同时出现了关键词一 hello 和关键词二 helloworld,由于使用了循环替换,这样就会执行两次,导致替换的内容不太正确,请求一个良好的替换方法,不会出现重复。。。。。。 展开
2个回答
展开全部
想不出什么好招了 也就是像上边那个 单词两边必须有空格
或者保证你的数组是先出现 helloworld然后再出现hello 遇到helloword的时候把他拆分出来 剩下的文字再去找hello这样替换
或者保证你的数组是先出现 helloworld然后再出现hello 遇到helloword的时候把他拆分出来 剩下的文字再去找hello这样替换
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询