[WordPress] 在wordpress中的fckeditor使用wp-syntax插件

Sep 3rd, 2009

转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]

本文链接: http://www.php-oa.com/2009/09/03/ckeditor-wordpress-wp-syntax.html

Fckeditor是我用过的最好的所见即所得编辑器,就象offcie的软件一样.在Wordpress中也有这么一个插件,可以用他来替换默认的编辑器.

因为我常常写些小东西,如shell和perl的一些程序.所以还找了一个相当不错的语法高亮插件wp-syntax,基本支持所有常见的语言.

但使用的过程中,发现了二个问题.

1.当使用Fckeditor编辑器在次编辑时,会替换默认wp-syntax中的内容.所以害我改变过的文章内容中的代码实在没法读.

2.加入wp-syntax的时候,使用时.一定要转到源码模式,然后加上<per lang=’**’>的标签,在转换回来.实在是不方便.因为这样每次插入代码的时候,都需要手动输入一些预设置的格式,如果能够在编辑器框里增加一个按钮,自动输入这些重复的内容,就方便多了.

好了,后来google到网上有个不错的解决方法,他我用那个patch一真搞不定,没法子,只能手动修改.

原文链接"http://mjxian.cn/wordpress/archives/fckeditor-for-wordpress-wp-syntax.html"

我们来多谢’梦见锡安‘这位网友.呵呵.

好了,下面我们来手动解决我们的问题

1.解决编辑器在次编辑时,会替换默认wp-syntax中的内容这个问题.

编辑/www/wp-content/plugins/wp-syntax/wp-syntax.php这个文件 找到

global $wp_syntax_token, $wp_syntax_matches;

这行,在下面加入如下内容

$match = str_replace("&amp", "&", $match);
$match = str_replace("&lt", "<", $match);
$match = str_replace("&gt", ">" ,$match);
$match = str_replace("&quot","\"", $match);
$match = str_replace("&nbsp"," ",$match);

2.在Fckeditor中加入wp-syntax的样式

编辑/www/wp-content/plugins/fckeditor-for-wordpress-plugin/fckeditor/fckstyles.xml 这个文件.

找到

<Style name="Superscript" element="sup" />
  -->

然后在这二行下面加入你需要语法高亮的语言,只需要修改name=就行了.

        <Style name="Shell" element="pre">
                <Attribute name="lang" value="bash" />
                <Attribute name="line" value="1" />
        </Style>
        <Style name="Html" element="pre">
                <Attribute name="lang" value="html4strict" />
                <Attribute name="line" value="1" />
        </Style>

        <Style name="Css" element="pre">
                <Attribute name="lang" value="css" />
                <Attribute name="line" value="1" />

如图:

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
  1. 金融危机
    Sep 3rd, 2009 at 11:28
    Reply | Quote | #1

    高手啊 写的真好

  2. alswl
    Nov 14th, 2009 at 13:34
    Reply | Quote | #2

    我遇到同样的问题,不过我的是codecolorer,正在尝试解决,实在不行就换到syntax

  3. admin
    Nov 14th, 2009 at 14:42
    Reply | Quote | #3

    呵呵,syntax很好用

  4. Carrie
    Nov 23rd, 2009 at 06:59
    Reply | Quote | #4

    您好,可是目前 FCKEditor 已經改版為 CKEditor 了,所以你提供的這個方法已經不適用,有沒有更新版的用法呢?