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

 更新时间:2014年09月10日 15:30:44   投稿:shichen2014  
这篇文章主要介绍了PHP实现对站点内容外部链接的过滤方法,可实现针对外部链接增加rel="nofollow"的功能,有助于网站SEO建设以及避免不必要的损失,是非常实用的技巧,需要的朋友可以参考下

熟悉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://www.jb51.net,这样才可以很好的过滤。

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

相关文章

  • php创建多级目录的方法

    php创建多级目录的方法

    这篇文章主要介绍了php创建多级目录的方法,涉及php操作目录的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • PHP数组相加操作及与array_merge的区别浅析

    PHP数组相加操作及与array_merge的区别浅析

    这篇文章主要给大家介绍了关于PHP数组相加操作以及与array_merge的区别,文中通过示例介绍的很详细,感兴趣的朋友们可以参考学习,有需要的下面跟着小编一起来学习学习吧。
    2016-11-11
  • php中防止SQL注入的最佳解决方法

    php中防止SQL注入的最佳解决方法

    本篇文章介绍了,php中防止SQL注入的最佳解决方法。需要的朋友参考下
    2013-04-04
  • php设计模式 State (状态模式)

    php设计模式 State (状态模式)

    允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类
    2011-06-06
  • php简单实现多语言切换的方法

    php简单实现多语言切换的方法

    这篇文章主要介绍了php简单实现多语言切换的方法,涉及php字符串、数组结合session操作实现多语言切换的相关技巧,需要的朋友可以参考下
    2016-05-05
  • PHP中使用CURL获取页面title例子

    PHP中使用CURL获取页面title例子

    这篇文章主要介绍了PHP中使用CURL获取页面title例子,本文使用正则实现获取页面title、页面编码、<head>标签中的内容,需要的朋友可以参考下
    2015-01-01
  • PHP中soap的用法实例

    PHP中soap的用法实例

    这篇文章主要介绍了PHP中soap的用法,实例讲述了PHP使用soap的两种方式,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • 使用Codeigniter重写insert的方法(推荐)

    使用Codeigniter重写insert的方法(推荐)

    下面小编就为大家带来一篇使用Codeigniter重写insert的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • php操作SVN版本服务器类代码

    php操作SVN版本服务器类代码

    使用PHP完成SVN的操作,包括复制,查看列表,删除,移动,创建目录,查看diff,更新,合并,提交,获取状态,获取commit log,获取当前版本号操作。在svn 1.6.11版本中测试通过
    2011-11-11
  • WordPress迁移时一些常见问题的解决方法整理

    WordPress迁移时一些常见问题的解决方法整理

    这篇文章主要介绍了WordPress迁移时一些常见问题的解决方法整理,包括通过一个推荐的方法来备份插件以避免迁移后的更多问题出现,需要的朋友可以参考下
    2015-11-11

最新评论