PHP实现对站点内容外部链接的过滤方法


Posted in PHP onSeptember 10, 2014

熟悉SEO的朋友都知道,对于网站外部链接失效的情况如果链接带有rel="nofollow"属性可以避免不必要的损失。本文就以实例形式演示了PHP实现对站点内容外部链接的过滤方法。具体如下:

问题描述:原来站内很多文章都是摘录的外部文章,文章里很多链接要么是时间久了失效了,要么就是一些测试的网址,如:http://localhost/ 之类的,链接多了的话,就形成站内很多死链接,这对SEO优化是很不利的。

解决方法:需要对站点内的内容进行过滤,将不是内部链接的链接加上 rel="nofollow"属性

本文借鉴了wordpress的过滤外部链接的函数,将其改一下即可使用。

具体代码如下:

//外部链接增加nofllow $content 内容 $domain 当前网站域名
function content_nofollow($content,$domain){
 preg_match_all('/href="(.*?)"/',$content,$matches);
 if($matches){
 foreach($matches[1] as $val){
  if( strpos($val,$domain)===false ) $content=str_replace('href="'.$val.'"', 'href="'.$val.'" rel="external nofollow" ',$content);
 }
 }
 preg_match_all('/src="(.*?)"/',$content,$matches);
 if($matches){
 foreach($matches[1] as $val){
  if( strpos($val,$domain)===false ) $content=str_replace('src="'.$val.'"', 'src="'.$val.'" rel="external nofollow" ',$content);
 }
 }
 return $content;
}

调用的时候很好调用,如下是调用演示

$a['content'] = content_nofollow($a['content'],$domain);  //将文章内容里的链接增加nofllow属性

 
注意!这里过滤的域名需要是不带“/”的,如https://3water.com,这样才可以很好的过滤。

相信本文所述的方法对大家的PHP项目开发有一定的借鉴价值。

PHP 相关文章推荐
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
apache+php完美解决301重定向的两种方法
Jun 08 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
浅谈php和.net的区别
Sep 28 PHP
php实现事件监听与触发的方法
Nov 21 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
php文件系统处理方法小结
May 23 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP获取链表中倒数第K个节点的方法
Jan 18 PHP
thinkphp5 模型实例化获得数据对象的教程
Oct 18 PHP
php生成随机数的三种方法
Sep 10 #PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
Sep 10 #PHP
初识php MVC
Sep 10 #PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 #PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 #PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 #PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 #PHP
You might like
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
基于jquery的一个图片hover的插件
2010/04/24 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
iframe 上下滚动条如何默认在下方实现原理
2012/12/10 Javascript
Javascript实现返回上一页面并刷新的小例子
2013/12/11 Javascript
使用jquery中height()方法获取各种高度大全
2014/04/02 Javascript
javascript模块化简单解析
2016/04/07 Javascript
jquery中的常见问题及快速解决方法小结
2016/06/14 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
JavaScript制作3D旋转相册
2020/08/02 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
Python实现图片添加文字
2019/11/26 Python
python 爬取免费简历模板网站的示例
2020/09/27 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
检测用户浏览器是否支持CSS3的方法
2009/08/29 HTML / CSS
CSS3的column-fill属性对齐列内容高度的用法详解
2016/07/01 HTML / CSS
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
解释i节点在文件系统中的作用
2013/11/26 面试题
优秀演讲稿范文
2013/12/29 职场文书
《值日生》教学反思
2014/02/17 职场文书
社区反邪教工作方案
2014/06/16 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
优秀共产党员推荐材料
2014/12/18 职场文书
数学教师个人总结
2015/02/06 职场文书
离婚案件原告代理词
2015/05/23 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
如何书写民事调解协议书?
2019/06/25 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
Nginx实现负载均衡的项目实践
2022/03/18 Servers
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫