shishi

(function($){
    $.aisensiyCodeHighLight = function(code, holder) {
        var keyWords = [
        "boolean", "int", "long", "short", "byte", "float", "double",
        "var", "function", "return", "public", "static", "void", "protected",
        "private", "extends", "for", "in", "while", "if", "else", "then", "new",
        "false", "true", "null", "break", "continue", "goto", "switch", "case",
        "integer", "implements", "synchronized", "package", "catch", "try", "finnal",
        "using", "bool", "get", "set", "enum", "struct"
        ];
        var settings = {
            regs: {
                "keyWord": {
                    "pattern": new RegExp("\\b(" + keyWords.join("\\b|\\b") + ")\\b", "ig"),
                    "class": "keyWord"
                },
                "lineComment": {
                    "pattern": /[^:](\/\/.*)/g
                },
                "globalComentHead": {
                    "pattern": /(\/\*.*)/g
                },
                "globalCommentFoot": {
                    "pattern": /\*\//g
                },
                "commentClass": "comment",
                "string": {
                    "pattern": /("[^"]*")/g,
                    "class": "string"
                }
            },
            commentWrap : function(codes) {
                var commentFlag = false;
                var commentClass = settings.regs.commentClass;
                for( var i=0; i<codes.length; i++) {
                    if(commentFlag)
                    {
                        if(codes[i].indexOf("*/") == -1)
                            codes[i] = codes[i].replace("<li><span>", 
"<li><span class=\"" + commentClass + "\">");
                        else
                        {
                            var strBegin = "<li><span>".length;
                            var strEnd = codes[i].indexOf("*/") + 2 - strBegin;
                            var end = codes[i].substr(strBegin, strEnd);
                            codes[i] = codes[i].replace(end, "<span class=\"" 
+ commentClass + "\">" + end + "</span>" );
                            commentFlag = false;
                        }
                        continue;
                    }
                    if(settings.regs.globalComentHead.pattern.test(codes[i]))
                    {
                        codes[i] = codes[i].replace(settings.regs.globalComentHead.pattern, "<span class=\"" +
 commentClass + "\">$1</span>");
                        commentFlag = true;
                    }
                }
                return codes;
            },
            xmlEscape: function(s) {
                return s.replace(/&/g,"&amp;").replace(/\</g,"&lt;").replace(/\>/g, "&gt;").replace(/ /g,"&nbsp;").replace(/\\"/g, "&quot;");
            }
        };
        settings.container = holder;
        settings.code = code;
        var codes = settings.xmlEscape($.trim(code)).split("\n");
        for(var i=0; i<codes.length; i++) {
            codes[i] = "<li><span>" + codes[i] + "</span></li>";
            codes[i] = codes[i].replace(settings.regs.string.pattern, 
"<span class=\"" + settings.regs.string["class"] + "\">$1</span>");
            codes[i] = codes[i].replace(settings.regs.keyWord.pattern, 
"<span class=\"" + settings.regs.keyWord["class"] + "\">$1</span>");
            codes[i] = codes[i].replace(settings.regs.lineComment.pattern, 
"<span class=\"" + settings.regs.commentClass + "\">$1</span>");
        }
        codes = settings.commentWrap(codes);
        settings.container.html("<ol>" + codes.join("") + "</ol>");
        $("span[class=" + settings.regs.string["class"]+"]", settings.container).each(function(n){
            $(this).html($(this).html().replace(/\<\/?[^>]+\>/g, ""));
        });
        $("span[class=" + settings.regs.commentClass+"]", settings.container).each(function(){
            $(this).html($(this).html().replace(/\<\/?[^>]+\>/g, ""));
        });
    }
})(jQuery);
 ppppppppppppppppppppppppppppppppppppppppp

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值