什么是UGeSHi?UGeSHi是一个连接器,它把FCKEditor与GeSHi(采用PHP编程语言写的代码高亮插件,目前它已能高亮100多种程序语言)紧密的结合在一起,您可以称为它为FCK插件,也可以称它为连接器(因为代码高亮的核心文件不是本人编写,本人只编写了其与FCKEditor整合的过程)。
UGeSHi的功能:高亮程序代码,使程序代码美观且易读。
为什么采用GeSHi作为核心文件?原因很简单,因为GeSHi高亮足够完美,而且支持高亮的程序语言也很完善。
UGeSHi能高亮多少种程序语言?粗略的说可以高亮100多种,具体细节看下表:
注:若您不想使用其中某种代码的高亮,您可以直接将geshi文件夹下的此语言文件删除,无需更改其它程序代码。
可以自定义高亮的颜色吗?可以,您只需要修改geshi文件下相应的语言文件中$language_data[‘STYLES’]变量即可!
UGeSHi对FCKEditor的兼容性怎么样?您可以像使用其它FCKEditor的插件那样使用UGeSHi,本人是在FCKEditor 2.6.3版本下开发的,其它版本未经测试,但相信兼容性一定非常不错。
UGeSHi对浏览器的兼容性怎么样?将其配置于FCKEditor 2.6.3版本中,本人已在IE5.0,IE6.0,IE7.0,Opera9.62,Firefox3.0.4,Chrome0.3.154.9下测试通过。
这是一张用UGeSHi高亮PHP代码的示意图。
下载使用UGeSHi:http://phpor.net/blog/attachment/ugeshi.zip
使用方法:
1. 将ugeshi文件夹存放于fckeditor/editor/plugins/目录下;
2. 编辑fckconfig.js文件,添加 FCKConfig.Plugins.Add(‘ugeshi’, "zh-cn’);
3. 设置FCKEditor工具栏,FCKConfig.ToolbarSets["Default"]值中添加:UGeSHi (注意大小写)
清空浏览器临时文件,开始体验吧…
实例:
-
<?php
-
error_reporting (1);
-
header(‘Content-Type:text/plain; charset=utf-8’);
-
if (!empty($_POST[‘UGC’]) && !empty($_POST[‘UGL’])) {
-
include_once(dirname(__FILE__) . ‘/geshi.php’);
-
if (get_magic_quotes_gpc()) $_POST[‘UGC’] = stripslashes($_POST[‘UGC’]);
-
$_POST[‘UGC’] = stripslashes($_POST[‘UGC’]);
-
$_POST[‘UGL’] = strtolower($_POST[‘UGL’]);
-
-
$GeSHi = new GeSHi($_POST[‘UGC’], $_POST[‘UGL’]);
-
//$GeSHi->enable_classes();
-
$GeSHi->set_header_type(GESHI_HEADER_NONE);
-
$GeSHi->enable_line_numbers(GESHI_NORMAL_LINE_NUMBERS);
-
$GeSHi->enable_keyword_links(false);
-
$GeSHi->set_overall_style(”);
-
$GeSHi->set_tab_width(4);
-
echo $GeSHi->parse_code();
-
}
-
?>