shadow
网站管理员
网站管理员
  • UID2
  • 粉丝2
  • 关注1
  • 发帖数217
  • 社区居民
  • 忠实会员
  • VIP会员
  • 原创写手
  • 荣誉会员
阅读:7038回复:1

修改PHPwind9.0帖子自动添加超链接

楼主#
更多 发表于 2014-04-13 17:54
PHPWIND9.0发帖子遇到网址会自动转换为超链接,这样如果帖子里随便写个网址也会自动变成超链,一来分散权重,不利于优化,二来让某些人无限制刷广告,很烦人,但是PW9后台没有超链接管理的功能,只能手工修改文件:打开src/library/ubb/PwUbbCode.php
找到下面类似的这一段,给出的代码已经添加好了“rel=noflow”标签,复制上去即可。
public static function createUrl($url, $name, $protocol, $isdownload = 0, $checkurl = 0) {
        !$protocol && $url = 'http://' . $url;
        $attributes = '';
        $isdownload && $attributes .= ' class="down"';
        $html = "<a href=\"$url \" target=\"_blank\"{$attributes} rel=\"nofollow\">$name</a>";
        return self::_pushCode($html);
    }

如果不愿意使用这个标签,而想使用站内跳转,则复制下面这段代码:
public static function createUrl($url, $name, $protocol, $isdownload = 0, $checkurl = 0) {
        !$protocol && $url = 'http://' . $url;
        $attributes = '';
        $isdownload && $attributes .= ' class="down"';
        $html = "<a href=\"../url.php?url=$url\" target=\"_blank\"{$attributes}>$name</a>";
        return self::_pushCode($html);
    }

然后在论坛根目录新建一个url.php文件:
<? $url=$_GET["url"];header("Location:".$url);?>

这样就变成www.本站网址.com/url.php?=www.跳转网址.com这种站内跳转形式的超链了!
将帖子分享到:
喜欢0 评分0
电脑技术网新域名:www.dnjs.net,更好记!
shadow
网站管理员
网站管理员
  • UID2
  • 粉丝2
  • 关注1
  • 发帖数217
  • 社区居民
  • 忠实会员
  • VIP会员
  • 原创写手
  • 荣誉会员
沙发#
发表于 2014-11-17 21:26
最新版优化代码,支持判断URL为内链或外链!!!适合SEO!!
打开src/library/ubb/PwUbbCode.php 文件
找到第562行:
替换成如下代码
public static function createUrl($url, $name, $protocol, $isdownload = 0, $checkurl = 0) {
    !$protocol && $url = 'http://' . $url;
    $attributes = '';
    $isdownload && $attributes .= ' class="down"';
    $local_url = preg_match("/(http|https|ftp|file){1}(:\/\/)?(www\.it892\.com).*([\w\W]*)/i",$url);
    if ($url == "http://"||$url == "https://"||$url == "ftp://"||$url == "file://") {
        $html = "$url";
        return self::_pushCode($html);
    } else if ($local_url){
        $html = "<a href=\"$url \" target=\"_blank\"{$attributes}>$name</a>";
        return self::_pushCode($html);
    } else {
        $html = "<a href=\"../url.php?target=$url \" target=\"_blank\"{$attributes}>$name</a>";
        return self::_pushCode($html);
    }
}
使用说明:第5行www.it892.com改成自己的域名,不懂php的记得前面加反斜杠
                 第10行:新建一个url.php跳转文件到论坛根目录,代码如下:
<? $url=$_GET["target"];header("Location:".$url);?>
我用的php header跳转方法,其实也可以用a标签的onclick方法,随便你们用哪种,我就不一一举例了。
SEO优化说明:
1,如果是内容只有“http://”或者“https//”……这么一段,则直接输出文本,官方是默认输出链接的,这样打开是空白页;
2,正则匹配自己的域名,如果是内链,则输出正常的链接,适合内链建设。
3,如果不是内链,则输出跳转链接。
电脑技术网新域名:www.dnjs.net,更好记!
回复 喜欢(0)     评分

返回顶部