Typecho实现外部链接添加nofollow标签和新窗口打开

我们在使用Typecho程序建站过程中,在编辑文章的时候如果希望引导外部的文章地址,那我们肯定是需要用到nofollow标签,这样不至于将本网站的权重被带跑。当然有些朋友做网站不介意这样的那就无所谓的,我们正常的更新网站就可以。不过我们在使用Typecho的时候默认的还是在当前窗口打开的,我们很多时候希望新窗口打开,那就需要手工设置。

有没有不需要每次手动设置Typecho 实现外部地址自动nofollow,以及新窗口打开的方法呢?省的每次有些时候会忘记掉,这里老蒋找到网上的一个办法,如果我们还有需要的话可以参考使用到。

Typecho实现外部链接添加nofollow标签和新窗口打开

找到 var/HyperDown.php 377-389行代码。

// link
        $text = preg_replace_callback(
            "/\[((?:[^\]]|\\\\\]|\\\\\[)+?)\]\(((?:[^\)]|\\\\\)|\\\\\()+?)\)/",
            function ($matches) use ($self) {
                $escaped = $self->parseInline(
                    $self->escapeBracket($matches[1]),  '',  false, false
                );
                $url = $self->escapeBracket($matches[2]);
                $url = $self->cleanUrl($url);
                return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");
            },
            $text
        );

把代码中的:

return $self->makeHolder("<a href=\"{$url}\">{$escaped}</a>");

替换成:

if (strstr($url,'//www.itbulu.com') == false ) {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\" rel=\"nofollow\">{$escaped}</a>");
} else {
return $self->makeHolder("<a href=\"{$url}\" target=\"_blank\">{$escaped}</a>");
}

看到代码没有,我们更换成nofollow,以及_blank新窗口打开。

参考地址:https://www.moewah.com/archives/1954.html

本文出处:老蒋部落 » Typecho实现外部链接添加nofollow标签和新窗口打开 | 欢迎分享( 公众号:站长事儿 )