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

December 09, 2023
测试
测试
测试
测试
3 分钟阅读

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

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

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

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多