账号注册找回密码
 

奇瑰网社区

[分享] Discuz X论坛帖子的外部链接增加nofollow属性

[复制链接]

256

主题

305

帖子

2万

积分

网站民审组

Rank: 7Rank: 7Rank: 7

G币
20019
信用
500
体力
297

论坛版主

发表于 2020-5-25 23:44:13 | 显示全部楼层 |阅读模式
免费G币领取活动中
给Discuz X论坛的外部链接增加nofollow方法,测试版本Discuz! X3.1,其它版本未经测试
  打开目录source/function/function_discuzcode.php文件,查找parseurl函数,对照以下代码进行修改:

function parseurl($url, $text, $scheme) {        global $_G;        if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|thunder|qqdl|synacast){1}:\/\/|www\.)[^\[\"']+/i", trim($text), $matches)) {                $url = $matches[0];                $length = 65;                if(strlen($url) > $length) {                        $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));                }        $url = nofollow($url);                return '<a href="'.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';        } else {                $url = substr($url, 1);                if(substr(strtolower($url), 0, 4) == 'www.') {                        $url = 'http://'.$url;                }                $url = !$scheme ? $_G['siteurl'].$url : $url;                return '<a href="'.nofollow($url).'" target="_blank">'.$text.'</a>';        }}  


在parseurl函数后面新增nofollow函数,代码如下:


function nofollow($url = ''){    $temp = array();    if( ! empty($url))    {        $temp = parse_url($url);        if(isset($temp['host']) && $temp['host'] != $_SERVER['HTTP_HOST'])        {            $url .= '" rel="nofollow"';        }    }    unset($temp);    return $url;}






上一篇:discuz二级导航选择横排样式不显示的解决方法
下一篇:dz论坛x3.2/3.3/3.4等待审核数据很烦人;怎么一键清除方法分享
本站提供海量免费的建站资源,包括WordPress模板,Discuz商业模板,Discuz商业插件、PHPWind模板、phpcms模板、帝国cms模板、织梦模板等上万精品模板!同时,提供各种建站素材、JS特效、整站程序源码!
使用高级回帖 (可批量传图、插入视频等)

发表回复

您需要登录后才可以回帖 登录 | 账号注册  

本版积分规则   Ctrl + Enter 快速发布  

发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
Powered by Discuz! X3.4 ( 粤ICP备20013252号-1  
Copyright © 2014-2020 m.qiguiwl.com All Rights Reserved.
快速回复 返回顶部 返回列表