实战FCKeditor,添加自定义工具栏---插入代码

=====================以下为双鱼编辑器中Code.js文件的代码修改=================
1、双鱼编辑器本身对代码的空格支持不够好,因此我在“str = "<div style=/""+CodeDivStyle+"/">" + str + "</div>"; “后面加了一句(也一定要在这句之后):
str = str.replace(//s{2}/g,"&nbsp;&nbsp;");
意思是替换连续2个空格(不能为一个,否则会把不该替换的也替换)为可显示的HTML代码”&nbsp;”,这样,代码各行之前就和原代码一样,会有空格,代码看起来更加清晰。
 
2、格式化VBScript代码函数中,少了一些关键字,我们再加一些,查找“|While|With|Xor”,
在它之后加上: “|Sub|Len|Right|Function|IsNull|IsEmpty|Left|Cint|Instr|Cstr|Replace|Chr|Error|Trim
|Mid|Instrrev|LCase|UCase|Hex”诶呀,累了,不知道还有些什么,没加上的各位朋友自己加吧,头疼。
 
3、格式化SQL,有待高手来解决,,还有好多没改,目前就修改下注释,变为绿色;
搜索“str = str.replace(/([%/^/*/(/)/-/+=|//,/.~])/gi,"<font color=/"#999999/">$1</font>");
把它和它下面一行都删除,之后在函数最后一行 “return (str); ”的前面加上:
“str = FortmatCodeRemark_SQL(str);”
现在写FortmatCodeRemark_SQL函数:
//SQL注释替换为绿色
function FortmatCodeRemark_SQL(str)
{
    str = str.replace(/(///*)([/s/S]*?)(/*//)/g,
            function() {
                    var s = arguments[1];
                    if (arguments[2] != "")
                        s = "<font style=/"color:#008080/">"+s+ClearColorTag(arguments[2])+arguments[3]+"</font>";
                    else
                        s += arguments[3];
                    return(s);
                });
    str = str.replace(/([^/-])(/-{2})(.*)/g,
            function() {
                    var s;
                    if (arguments[3].substr(0,1) != "")
                        s = "<font style=/"color:#008080/">"+arguments[2]+ClearColorTag(arguments[3])+"</font>";
                    else
                        s = arguments[2]+arguments[3];
                    return(arguments[1]+s);
                });
    return(str);
}
 
搜索“str = str.replace(/(N)('.*?')/gi,
         function() {
              return (arguments[1]+"<font color=/"#FF0000/">"+arguments[2].replace(/<.*?>/g,"")+"</font>");
         });
更改为:“str = str.replace(/('.*?')/gi,
         function() {
              return ("<font color=/"#FF0000/">"+arguments[1].replace(/<.*?>/g,"")+"</font>");
         });
函数解决了注释为绿色,但是又把特殊符号变为灰色的功能取消了。。还不知道怎么解决。
 
4、搜索“// 双引号中关键字不变色”,把下面一段函数删除,正则有问题,会捣乱格式。
后面会加个函数,在各个格式化函数中调用。
     // 双引号中关键字不变色
     str = str.replace(/(&quot;)([/s/S]*?)/1/g,
              function() {
                   return(arguments[1]+arguments[2].replace(/(<[/s/S]*?>)/g,"")+arguments[1]);
              });
5、搜索“// str = FormatBrace(str);”,把前面的斜杆删除,并把它的下面一句:
str = FormatValue(str);”放到函数最前面(防止把注释里的双引号中值颜色也变棕色)
6、新增函数:替换收缩图片;在格式化c#,vb.net,vbscript,jscript中相应地方添加该函数。
7、新增函数:双引号中关键字不变色;加在各格式化函数中。
8、增加个VB.NET格式化:
    搜索“case "SQL": str = FormatSQL(str,canCollapse); break;”,在其后加上:
    “case "VB.NET": str = FormatVBDOTNET(str,canCollapse); break;
9、更改vbscript,jscript,加上折叠功能。
 
(以上6-9步代码较多,这里不放出,有兴趣的可以查看code.js。都有详细注释。)
 
 
终于,铁棒被我们磨成针了,现在,我们可以真正的使用插入代码功能,试一试,恩。感觉蛮好!上面的代码看着麻烦,,想研究的朋友可以看看,主要做个参考,我更改了什么。方便朋友们以后对这功能的增强。
 
好了,下面是源码的下载:
我的FCKeditor(经过精简,删除垃圾文件,保留全部功能,版本为2.4.1,已加入插入代码功能)
FCKeditor2.4.1.rar插入代码时所更改的文件:(有自己FCKeditor的朋友可以直接下载覆盖)
Fckeditor.rar


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值