首页 > wordpress > codecolorer 关键字链接在新窗口打开
2009五月22

codecolorer 关键字链接在新窗口打开

codecolorer是我很喜欢的一款wordpress代码高亮的插件,也就是我现在正在用的。

其展示上有多种样式支持,并且其支持高亮的代码也是很多的。

而且我喜欢它还有另一个原因,那就是它可以把一些系统函数(如PHP的echo,var_dump)之类直接链接到编程语言的官方文档去。

所以,想要对查看你代码的人也是有很大帮助的,毕竟,授人以鱼不如授人以渔嘛。

不过,其默认是在本窗口打开的链接,这就有点不爽了,于是改代码,使其在新窗口打开。

其实,代码不难改,大家也都知道,想要一个超链接在新窗口打开,只要加上如下参数即可:

<a href='http://www.xiaoxiaozi.com/' target='_blank'>小小子</a>

只要加上这个target=’_blank’那么链接就是在新窗口打开的了。

不过,他这个代码可有点大,找起来不是那么容易的。不过历尽万难,我还是找到了更改的地方,呵呵(有点吹牛的感觉)。。

要更改的文件为wordpress\wp-content\plugins\codecolorer\lib\geshi.php

在其3484行左右(真长啊)

        // Replace <|UR1| with <a href= for urls also simaopig
        if (isset($this->link_styles[GESHI_LINK])) {
            if ($this->use_classes) {
                $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' target=\'_blank\' href=', $stuff_to_parse);
            } else {
                $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' style="' . $this->link_styles[GESHI_LINK] . '" target=\'_blank\' href=', $stuff_to_parse);
            }
        } else {
            $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' target=\'_blank\' href=', $stuff_to_parse);
        }

呵,因为代码太长,而且逻辑过多,所以没有一点点看其实现方式,也没有看其if的条件到底是什么。

反正我为每个条件分支都加上了这个target=’_blank’于是,现在你们看到的,关键字的链接在新窗口打开了。

文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/05/22/572/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

7 Responses to “codecolorer 关键字链接在新窗口打开”

  1. #1 LAONB 回复 | 引用 Post:2009-05-22 18:19

    哈哈,刚好赶上你发新文章,抢个沙发。

    [回复]

  2. #2 simaopig 回复 | 引用 Post:2009-05-22 18:23

    @LAONB
    呃。。你的速度还真是快。呵呵。

    [回复]

  3. #3 wulinfo 回复 | 引用 Post:2009-05-22 21:08

    这代码看着辛苦,一丁点大,还出现横向滚动条,看一行,拉两次

    [回复]

  4. #4 wulinfo 回复 | 引用 Post:2009-05-22 21:09

    IE更痛苦,纵向同样有滚动条

    [回复]

    simaopig 回复:

    确实IE是有这个问题,你上次提供给我的方法我也没改。因为我这周才要换1.4到时肯定会加上的。稍等。呵呵。

    [回复]

  5. #5 Eagle 回复 | 引用 Post:2009-08-04 09:03

    能教我下这个具体怎么设置的吗?我装了这个插件但是代码没有高亮啊

    [回复]

  6. #6 simaopig 回复 | 引用 Post:2009-08-04 09:28

    @Eagle
    呃,在后台就可以设置了。

    而只要在HTML编辑的时候加上指定的标签[cc][/cc]就可以了。

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)