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使用pear实现mail发送功能 windows环境下配置pear

    PHP使用pear实现mail发送功能 windows环境下配置pear

    这篇文章主要介绍在 windows环境下如何配置pear,PHP使用pear实现mail发送功能,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 举例讲解PHP面对对象编程的多态

    举例讲解PHP面对对象编程的多态

    这篇文章主要介绍了举例讲解PHP面对对象编程的多态,是PHP入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • PHP实现加强版加密解密类实例

    PHP实现加强版加密解密类实例

    这篇文章主要介绍了PHP实现加强版加密解密类,实例分析了php加密解密的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php URL验证正则表达式

    php URL验证正则表达式

    php URL验证正则表达式,需要的朋友可以参考下。
    2011-07-07
  • PHP命名空间与自动加载机制的基础介绍

    PHP命名空间与自动加载机制的基础介绍

    这篇文章主要给大家介绍了关于PHP命名空间与自动加载机制的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • php中substr()函数参数说明及用法实例

    php中substr()函数参数说明及用法实例

    这篇文章主要介绍了php中substr()函数参数说明及用法,以实例形式深入分析了substr()函数中的各个参数的含义,并举例说明了其对应的用法,需要的朋友可以参考下
    2014-11-11
  • phpcms的分类名称和类别名称的调用

    phpcms的分类名称和类别名称的调用

    本文主要介绍了phpcms的分类名称和类别名称的调用。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • PHP文件操作实例总结

    PHP文件操作实例总结

    这篇文章主要介绍了PHP文件操作,结合实例形式总结分析了php关于文件读写操作的常见函数及使用技巧,需要的朋友可以参考下
    2016-09-09
  • PHP利用一行代码删除目录下所有文件方法示例

    PHP利用一行代码删除目录下所有文件方法示例

    这篇文章主要给大家介绍了关于PHP如何利用一行代码删除目录下所有文件的相关资料,文中先对glob函数进行了一个简单的介绍,而后通过示例代码将删除的方法介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-01-01
  • PHP 扩展Memcached命令用法实例总结

    PHP 扩展Memcached命令用法实例总结

    这篇文章主要介绍了PHP 扩展Memcached命令用法,结合实例形式总结分析了PHP 扩展Memcached命令基本使用方法与相关操作注意事项,需要的朋友可以参考下
    2020-06-06

最新评论