文:毛毛,首发自:maomao.ink,转载请保留此行。
想要文章里面的链接都用新窗口打开,可文章内容被封装起来了,根本没办法对<a>标签进行修改。
尝试过几个失败案例:
- 在head里添加
<head><base target="_blank"/></head>这种方式确实能满足要求,但是页面里面所有链接都用新窗口打开,顿时新窗口泛滥,不是我想要的。 - 修改markdown样式。网上有很多帖子说修改markdown样式或者修改markdown对应的js,由于步骤太复杂,我未进行尝试,怕改坏了。
终极解决方案:
失败是成功之母,总算生出一个好办法。
在Typecho目录下找到:/var/HyperDown.php,然后找到下面内容进行修改:
// 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}\" target=\"_blank\">{$escaped}</a>");
},
$text
);在我这里是498行,行数仅供参考。
找到后,在<a>标签里加了target=\"_blank\"。
如果不想让爬虫继续爬取链接之后的内容,可以在<a>标签里再加上rel=\"nofollow\"。
加好之后,保存,上传,运行。
参考链接:https://www.ddkiss.com/archives/143.html
祝你成功!!!
我是谁?
- 90后程序媛,写代码,也写软文
- 喜欢阅读,喜欢聆听,喜欢分享
- 热爱挑战各种稀奇古怪的事物(比如这个博客)
- 我是毛毛,感恩遇见你!

我的1.2修改没成功。
还没升级到1.2版本,是不是地方找错了?