
你好,我遇到一个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这样替换

2024-07-09 广告
判断一个java邮件推送公司的好坏,不只是看价格,还要考虑很多因素。建议可以多对比几个看看。您可以到摩杜云了解下。摩杜云成立于2019年,依托于公司多年技术沉淀和强大的云计算研发实力,面向全世界各个国家和地区、企业组织和个人开发者,提供全球...
点击进入详情页
本回答由摩杜云提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询