..start..fly..

扫一扫
Guestbook

Home / PHP & Wordpress / WordPress不用插件实现代码高亮显示

<< 例外被抛出且未被接住scriptaculous.js添加wordpress支持Ctrl+Enter快捷发表评论功能 >>

在wordpress中是难免要用到代码高亮功能的,其实有很多插件可以实现的,但是插件就是怕升级以后的问题了,而且现在越来越觉得默认的编辑器比别的编辑器好用了,所有也担心插件实现的不兼容问题,所有旧想到了这个代码转换高亮的小工具了的:CodeRender,本程序是基于 dp.SyntaxHighlighter 写的代码语法着色的工具。支持的语言有:

java/xml/sql/jscript/css/cpp/c#/python/vb/perl/php/ruby/delphi。

可方便用于你的博客中粘贴代码,只要自定相应的样式 (highlight.css 的内容,.Text 支持自定义样式或在模板里加上语法样式),然后复制用这个工具生成的 HTML 代码就能让你的代码着高亮显示。 可以加入更多语种的支持,本程序就是在 dp.SyntaxHighlighter 的基础上扩展了对 Perl 语言的支持,网上可以找到相应语法的 JS 代码和 CSS。语言扩展支持通过在 shCore.js 和 highlight.css 加入相应代码即可。

操作很容易,Source Code 中贴上你要着色的代码,然后选择语种,点击 Render 按钮就会在 HTML Code 中生成相应的 HTML 代码,同时在 HTML Preview 中可以预览到效果。

该软件界面如下:

简要说明:Lang 下拉框可以选择所支持的语法,Options 右边的 Gutter、Controls、CollapseAll、FirstLine、Columns 是控制生成的额外的元素,逐一点试试就知道了。每个内容显示(输入)区都提供了 Copy/Paste/Clear 快捷操作链接,还有一个总的 Clear 按钮。

Copy生成 的HTML 代码,在日志编辑窗口切换到HTML源代码编辑模式,粘贴就可以了。

不过要想正确显示代码高亮还需在WordPress主题中加载样式文件“highlight.css”(在下载的压缩包中),直接复制highlight.css中的所有代码到你主题style.css中。如认为默认的样式不符合自己的要求,可以通过修改“highlight.css”中的样式改变代码高亮、边框、背景等颜色,更个性化。

但需要注意的是WordPress会自动把半角符号替换为全角,别人复制下来的函数代码标点是全角的,无法使用,切记!

解决办法:

打开并编辑 wp-includes/formatting.php 文件,找到以下代码:

  1. // static strings
  2. $curl = str_replace($static_characters, $static_replacements, $curl);
  3. // regular expressions
  4. $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

将$curl 开头的两句代码注释掉,效果如下:

  1. // static strings
  2. //$curl = str_replace($static_characters, $static_replacements, $curl);
  3. // regular expressions
  4. //$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

效果见本日志。

Related Posts

转载原创文章请注明,转载自:SKY..fly..[www.sky.gs]

本文链接: https://www.sky.gs/websites/phpwordpress/wordpress-nonplugin-code-highlight-coderender-download.html

QR:  WordPress不用插件实现代码高亮显示

7 Responses to “WordPress不用插件实现代码高亮显示”

  1. 龙城瓶子 says:

    :???: 下载效果做的很酷
    呵呵

  2. 威言威语 says:

    WP就没有一个中意的代码插件,都比较臃肿~

  3. yxiao says:

    试试看,用插件确实不好 :arrow:

Leave a Reply

Code (☆)1+10=?


Websites powered by Wordpress5.7 Copyright © 2009-2021 - All Rights Reserved   SKY..fly..