首页 > 建站教程 > PHP教程 >  PHP和前端必看功能 - 文章提取关键词替为超链接,SEO叫内链生成正文

PHP和前端必看功能 - 文章提取关键词替为超链接,SEO叫内链生成

前沿
很多大网站的文章内容关键词都是可以添加链接的,包括我们的大头条也是可以的,这样的好处首先是方便客户点击跳转相关内容,其次SEO叫内链,对SEO也有一定的辅助作用,如果一篇文章3000字,一个个加内链太麻烦了,那么我们如果把一篇文章中的关键词提取出来,自动加上链接呢?

首先我们使用PHP来实现
因为php主要开发后端功能,一般的网站管理系统,都会存在这样的一个需求,下面是代码
//外链数组
$link = [
 'IT学堂,http://www.toutiao.com/',
 'IT技术实战,http://www.toutiao.com/',
 '互联网资讯,http://www.toutiao.com/',
 '视频干货,http://www.toutiao.com/'
];

//要替换的内容
$str = 'IT学堂 - 提供最新的前后端IT技术实战,IT教程内容和经验、互联网资讯,关注IT学堂,学习大量干货,文字干货、视频干货应有尽有,就等你了!';

//执行替换
$out = keylink($str,$link);
echo $out;


//替换函数
function keylink($str, $link){
 $linkMap = [];
 foreach($link as $row) {
 $linkMap[] = explode(',', $row);
 }
 $tmpKwds = [];
 foreach($linkMap as $i => $row) {
 //把文字替换成链接
 $str = preg_replace('/('.$row[0].')/', '<a href="'.$row[1].'" target="_blank">'.$row[0].'</a>', $str);
 }
 return $str;
}
代码截图,方便大家看:


预览效果:


我们使用JS来实现下需求
如果我们的后端程序员说你们前端处理,我给你接口,那你是不是懵了,心里一万个草泥马,为啥要我处理,那么下面我们用js方法处理下:
<script>
//定义内容
var str = 'IT学堂 - 提供最新的前后端IT技术实战,IT教程内容和经验、互联网资讯,关注IT学堂,学习大量干货,文字干货、视频干货应有尽有,就等你了!';

//外链数组
var link = [
'IT学堂,http://www.toutiao.com/',
'IT技术实战,http://www.toutiao.com/',
 '互联网资讯,http://www.toutiao.com/',
'视频干货,http://www.toutiao.com/'
];
 
//执行替换
document.write(keylink(str,link))
 
//替换函数
function keylink(str,link){
 for(let j = 0; j < link.length; j++) {
 let row = link[j].split(',');
 str = str.replace(eval('/'+row[0]+'/g'),'<a href="'+row[1]+'" target="_blank">'+row[0]+'</a>');
 }
 return str;
}
</script>
代码截图,方便大家看:


预览效果:


注意:js这块有点要注意的,就是动态变量正则,这里使用邪恶的eval函数,当然也有其他方法。