很多大网站的文章内容关键词都是可以添加链接的,包括我们的大头条也是可以的,这样的好处首先是方便客户点击跳转相关内容,其次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函数,当然也有其他方法。