1.1版本typecho博客文章链接在新窗口打开
•折腾
481
8
前两天发现我博客文章内插入的超链接没办法在新页面打开,这让我难以忍受。于是尝试了一下百度介绍了几种方法,大部分是针对1.0版本的,而我使用的是1.1,好不容易找了几个能用的,但实际体验并不好,
header.php
页面插入<base target="_blank"/>
。_blank
。不行。_blank
,而是变成了`/go/www.guanhaodong.com/。不行。Markdown.php
这个文件,然后在 self::$parser->hook('afterParseCode', array('Markdown', 'transerCodeClass'));
后面添加 self::$parser->hook('afterParseInline', array('Markdown', 'addLinkTargetBlank'));
,实际上,根!本!就!没!有!self::$parser->hook('afterParseCode', array('Markdown', 'transerCodeClass'));
这!行!代!码!所以基本上搜索出现频率高的方法都不行。
后来我也放弃了,干脆自己一个文件一个文件 ctrl+f 慢慢找,反正就那几个关键字,找类似 <a href = "">
的字眼就可以了,这还真被我找到了。
步骤如下:
在typecho源码中找到如下文件
/var/HyperDown.php
在文件中找到386行的如下代码
<a href=\"{$url}\">{$escaped}</a>
修改为
<a target=\"_blank\" href=\"{$url}\">{$escaped}</a>
在文件中找到398行的代码
<a href=\"{$self->_definitions[$matches[2]]}\">{$escaped}</a>
修改为
<a target=\"_blank\" href=\"{$self->_definitions[$matches[2]]}\">{$escaped}</a>
有需要可以在加上rel=\"nofollow\"
学到了
确实有这个问题,Typecho应该加上这个功能的
我用了 Beblank 这个插件实现的新窗口打开
学到了,这就下载试试看。
可以在header做个判断
hhh,这可太为难我了。
我用的正则~
$content = preg_replace("/<a href=\"([^\"]*)\">/i", "<a href=\"\\1\" target=\"_blank\">", $content);
优秀,又学到了。