当前位置:首页 > CMS教程 > Discuz > 列表

Discuz帖子内容中的外部链接加上rel=nofollow

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-22 14:53:05 浏览: 评论:0 

帖子中可能会有很多用户加上外部链接,可以加上nofollow来降低导出权重,只保留本站域名的链接,即链接中本站域名出现在最开始的位置,认定为合法的内部链接.

修改文件:source/function/function_discuzcode.php

  1. function p arseurl($url$text$scheme) { 
  2.         glob al $_G
  3.         if(!$url && preg_m atch("/((https?|ftp|gopher|news|telnet|rtsp|mms|c allto|bctp|thunder|qqdl|syn ac ast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $m atches)) { 
  4.                 $url = $m atches[0]; 
  5.                 $length = 65; 
  6.                 if(strlen($url) > $length) { 
  7.                         $text = substr($url, 0, intv al($length * 0.5)).' ... '.substr($url, - intv al($length * 0.3)); 
  8.                 } 
  9.                 $nofllow = strpos($url$_G['siteurl']) !== 0 ? '" rel="nofollow' : ''
  10.                 return '< a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url) . $nofllow .'" t arget="_bl ank">'.$text.'</ a>'
  11.         } else { 
  12.                 $url = substr($url, 1); 
  13.                 if(substr(strtolower($url), 0, 4) == 'www.') { 
  14.                         $url = 'http://'.$url
  15.                 } 
  16.                 $url = !$scheme ? $_G['siteurl'].$url : $url
  17.                 $nofllow = strpos($url$_G['siteurl']) !== 0 ? '" rel="nofollow' : ''
  18.                 return '< a href="'.$url . $nofllow .'" t arget="_bl ank">'.$text.'</ a>'
  19.         } 

Tags: Discuz帖子 rel=nofollow

分享到: