PHP实现文章自动添加内链功能
作者:Alpha时间:2020-01-11 阅读数:4659 +人阅读
无论从用户体验或者网站优化的角度来考虑,网站文章实现自动加内链功能都是一件很爽的事。这里要加的内链,是指我们搜集好一些用户关注度比较高并且阅读体验良好的内容,自动加上链接引导过去,通常这一步需要编辑收到操作,如果能够实现自动化管理就事半功倍了。
1、简单粗暴的方式
一篇文章从设定好的关键词中按照记录好的优先顺序,依次添加三个,超过三个则自动停止操作。
$times = 3; //最多只替换三个关键词 每次替换做上标记,达到三次后,替换结束
$keywords = 一系列获得关键词的操作;
$num = 0;
foreach ($keywords as $key=>$val){
//$val['title'] //关键词
if($num < $times){
if(strpos($content,$val['title'])){ //先判断是否匹配到 如果匹配到进行添加超链接操作 同事替换次数+1
$num++;var_dump($num);
//进行替换操作
$content = str_replace($val['title'],'<a href="'.$val['url'].'" target="_blank">'.$val['title'].'</a>',$content);
}
}
}
上面的代码执行后,替换后的结果如图所示:

上述代码只是简单的做了当有多个待添加超链接的关键词满足条件的时候,现在个数为3,也就是说只给一篇文章中三个满足条件的关键词加上超链接,但是却没有限制满足条件的关键词要添加的次数,就出现了一个关键词超链接反复出现多次的情况。
if($num < $times){
$pos = strpos($content,$val['title']);
if($pos){ //先判断是否匹配到 如果匹配到进行添加超链接操作 同事替换次数+1
$num++;
//进行替换操作
//$content = str_replace($val['title'],'<a href="'.$val['url'].'" target="_blank">'.$val['title'].'</a>',$content);
$content = substr_replace($content, '<a href="'.$val['url'].'" target="_blank">'.$val['title'].'</a>', $pos, strlen($val['title']));
}
}
对上面的代码稍加改进,满足条件的关键词超链接只能替换一次,效果如下图:

原来多次出现的关键词“白茶”超链接只出现了一次。
本站部分内容或图片来自互联网,如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com
上一篇:PHP中获取当前页面的完整URL
下一篇:PHP-FPM解析

