通用代码高亮插件(SyntaxHighlighter)

对代码进行高亮显示,并添加行号可以使用SyntaxHighlighter,js插件来完成,其详细的讲解及代码下载可以浏览一下网站:http://www.cnblogs.com/heyuquan/archive/2012/09/28/2707632.html在此只对其工作原理及需要引入哪些js文件进行说明,并做个demo:1、使用该插件需要引入的文件有:shCore.js shCore....
摘要由CSDN通过智能技术生成

对代码进行高亮显示,并添加行号可以使用SyntaxHighlighter,js插件来完成,其详细的讲解及代码下载可以浏览一下网站:
http://www.cnblogs.com/heyuquan/archive/2012/09/28/2707632.html

在此只对其工作原理及需要引入哪些js文件进行说明,并做个demo:
1、使用该插件需要引入的文件有:
shCore.js shCore.css brush.js
2、其主要的工作方式:
shCore.js是其核心的js文件,shCore.css则对其样式进行渲染,brush.js该文件就是笔刷,通过在该js文件中对要渲染的文件(如:java、xml、css)进行定义。
在进行文件加载的过程中通过调用SyntaxHighlighter.highlight()方法,来触发该插件进行渲染。

在如下demo中将brush.js中的代码已放到shCore.js文件中:
shCore.js文件:
/**

  • SyntaxHighlighter
  • http://alexgorbatchev.com/SyntaxHighlighter
  • SyntaxHighlighter is donationware. If you are using it, please donate.
  • http://alexgorbatchev.com/SyntaxHighlighter/donate.html
  • @version
  • 3.0.83 (July 02 2010)
  • @copyright
  • Copyright © 2004-2010 Alex Gorbatchev.
  • @license
  • Dual licensed under the MIT and GPL licenses.
    /
    eval(function (p, a, c, k, e, d) {
    e = function © {
    return(c < a ? ‘’ : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36))
    };
    if (!’’.replace(/^/, String)) {
    while (c–) {
    d[e©] = k[c] || e©
    }
    k = [function (e) {
    return d[e]
    }];
    e = function () {
    return’\w+’
    };
    c = 1
    }
    ;
    while (c–) {
    if (k[c]) {
    p = p.replace(new RegExp(’\b’ + e© + ‘\b’, ‘g’), k[c])
    }
    }
    return p
    }('K M;I(M)1S 2U(“2a’t 4k M 4K 2g 3l 4G 4H”);(6(){6 r(f,e){I(!M.1R(f))1S 3m(“3s 15 4R”);K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?“g”:"")+(f.4s?“i”:"")+(f.4p?“m”:"")+(f.4v?“x”:"")+(f.3n?“y”:"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c–?{g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P=e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]=e)H a;H-1}M=6(f,e){K a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!1d)1S 3m(“2a’t 5r 5I 5F 5B 5C 15 5E 5p”);H r(f)}I(v)1S 2U(“2a’t W 3l M 59 5m 5g 5x 5i”);e=e||"";O(d={2N:11,19:[],2K:6(g){H e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y I(h=n.X.W(z[b],f.1a©)){a.U(h[0]);c+=h[0].L}Y{h=f.3a©;I(h="[")b=M.2I;Y I(h="]")b=M.1B;a.U(h);c++}a=15(a.1K(""),n.Q.W(e,w,""));a.1w={1m:f,19:d.2N?d.19:N};H a};M.3v=“1.5.0”;M.2I=1;M.1B=2;K C=/\ ( ? : ( d d ? ∣ [ (?:(\\d\\d?|[ (?:(dd?[&\'])|{([$\\w]+)})/g,w=/[^5h]+|([\\s\\S])(?=[\\s\\S]*\\1)/g,A=/^(?:[?*+]|{\\d+(?:,\\d*)?})\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,"")[1]===1d,D=6(){K f=/^/g;n.1A.W(f,"");H!f.12}(),y=6(){K f=/x/g;n.Q.W("x",f,"");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S]))/;z[M.1B]=/^(?:\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,"g"+(E?"y":"")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K a=f+"/"+(e||"");H M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,"g")};M.5l=6(f){H f.Q(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&")};M.5e=6(f,e,a,b){e=r(e,"g"+(b&&E?"y":""));e.12=a=a||0;f=e.X(f);H b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U("2a\'t 55 1h 54 3q")}};M.1R=6(f){H 53.Z.1q.W(f)==="[2m 15]"};M.3p=6(f,e,a,b){O(K c=r(e,"g"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H 6 a(b,c){K d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,"g"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||"":k[0])});H c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值