Heim  >  Artikel  >  php教程  >  PHP过滤外部链接及外部图片 添加rel="nofollow"属性

PHP过滤外部链接及外部图片 添加rel="nofollow"属性

WBOY
WBOYOriginal
2016-06-06 19:43:271143Durchsuche

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

原来站内很多文章都是摘录的外部文章,文章里很多链接要么是时间久了失效了,要么就是一些测试的网址,如: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属性

 

注意!过滤的域名需要是不带“/”的,如http://www.ledaokj.com

 

这样才可以很好的过滤。

 

增加对站点内容外部链接的过滤

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn