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 相关文章推荐
PHP4和PHP5共存于一系统
Nov 17 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
Jul 04 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP实现的各类hash算法长度及性能测试实例
Aug 27 PHP
PHP abstract 抽象类定义与用法示例
May 29 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
PHP时间函数使用详解
Mar 21 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 PHP
为你的 Laravel 验证器加上多验证场景的实现
Apr 07 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 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中执行系统外部命令
2006/10/09 PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
2010/08/21 PHP
防止用户利用PHP代码DOS造成用光网络带宽
2011/03/01 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
编写PHP脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
JavaScript小技巧 2.5 则
2010/09/12 Javascript
javascript天然的迭代器
2010/10/29 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
jquery常用函数与方法汇总
2015/09/01 Javascript
使用 bootstrap modal遇到的问题小结
2016/11/09 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
详解vue的数据劫持以及操作数组的坑
2019/04/18 Javascript
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
Python实现的二维码生成小软件
2014/07/11 Python
python遍历数组的方法小结
2015/04/30 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
python实现趣味图片字符化
2019/04/30 Python
pandas.cut具体使用总结
2019/06/24 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
Django接收自定义http header过程详解
2019/08/23 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Java多线程实现四种方式原理详解
2020/06/02 Python
python实现发送带附件的邮件代码分享
2020/09/22 Python
Python创建简单的神经网络实例讲解
2021/01/04 Python
美国亚洲时尚和美容产品的一站式网上商店:Stylevana
2019/09/05 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
北京奥运会口号
2014/06/21 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
python实现简单反弹球游戏
2021/04/12 Python
浅谈redis整数集为什么不能降级
2021/07/25 Redis