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 session有效期session.gc_maxlifetime
Apr 20 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 PHP
php获取系统变量方法小结
May 29 PHP
PHP统计当前在线用户数实例讲解
Oct 21 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
PHP使用curl制作简易百度搜索
Nov 03 PHP
php使用正则表达式去掉html中的注释方法
Nov 03 PHP
php中实现字符串翻转的方法
Feb 22 PHP
windows下的WAMP环境搭建图文教程(推荐)
Jul 27 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
PHP队列场景以及实现代码实例详解
Feb 26 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之curl实现http与https请求的方法
2014/10/21 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
用ADODB.Stream转换
2007/01/22 Javascript
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
jQuery图片播放8款精美插件分享
2013/02/17 Javascript
Jquery左右滑动插件之实现超级炫酷动画效果附源码下载
2015/12/02 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
原生JS实现的轮播图功能详解
2018/08/06 Javascript
详解JS中统计函数执行次数与执行时间
2018/09/04 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
新手入门带你学习JavaScript引擎运行原理
2019/06/24 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
python对json的相关操作实例详解
2017/01/04 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
django Serializer序列化使用方法详解
2018/10/16 Python
python 提取key 为中文的json 串方法
2018/12/31 Python
python async with和async for的使用
2019/06/20 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
初级会计求职信范文
2014/02/15 职场文书
优秀党员获奖感言
2014/02/18 职场文书
说明书怎么写
2014/05/06 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
最新离婚协议书范本
2014/08/19 职场文书
放假通知
2015/04/14 职场文书