100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > shawl.qiu Javascript 语法高亮函数 v1.0

shawl.qiu Javascript 语法高亮函数 v1.0

时间:2020-02-05 23:41:33

相关推荐

shawl.qiu Javascript 语法高亮函数 v1.0

shawl.qiu Javascript 语法高亮函数 v1.0

说明:

很久前就想写一个语法高亮的函数了, 不过因为N多原因, 因此没有写.

现在所有条件都具备了, 不写对不起自己对不起广大人民群众呀.

/*------------------------------------------------------------*/ * shawl.qiu Javascript 语法高亮函数 v1.0 * ---/---------------------------------- * 参数说明: * sStr: 字符串, 要进行语法高亮的字符串. * sOpt: 字符串, 要进行语法高亮的语言, all 为编码全部可用语法(目前只有 xml, javascript 选项). * 注: 后续版本将会逐渐支持: css, html, xhtml, asp/vbscript, * asp/jscript, c#.net, , T-SQL. * 特别注意: 本函数采用 ###字符### 作为特别标记, 因此, 为了不出错,请将 # 字符进行编码. * 如: # -> # /*------------------------------------------------------------*/

目录:

1. 函数 fHighlight(sStr, sOpt)

2. 使用演示.

shawl.qiu

-12-11

/btbtd

1. 函数 fHighlight(sStr, sOpt)

<script type="text/javascript">//<![CDATA[/*------------------------------------------------------------*/ * shawl.qiu Javascript 语法高亮函数 v1.0 * ---/---------------------------------- * 参数说明: * sStr: 字符串, 要进行语法高亮的字符串. * sOpt: 字符串, 要进行语法高亮的语言, all 为编码全部可用语法(目前只有 xml, javascript 选项). * 注: 后续版本将会逐渐支持: css, html, xhtml, asp/vbscript, * asp/jscript, c#.net, , T-SQL. * 特别注意: 本函数采用 ###字符### 作为特别标记, 因此, 为了不出错,请将 # 字符进行编码. * 如: # -> &#35; /*------------------------------------------------------------*///-------------------------begin function fHighlight(sStr, sOpt)-----------------------//function fHighlight(sStr, sOpt){if(!sStr||sStr.replace(//s+/g,'').length<0)return false;if(!sOpt) var sOpt='all';sOpt=sOpt.toLowerCase();try{return rpls(sStr, sOpt)}catch(e){};function rpls(sStr, sOpt){if(!sOpt) var sOpt='all';//------------------------------begin scriptif(//bjavascript/b/ig.test(sOpt)||sOpt=='all'){sStr=sStr.replace(//&lt/;script.*?/&gt/;[/s/S]*?/&lt/;//script/&gt/;/gi,function (m){m=m.replace(/(/&lt/;script.*?/&gt/;)([/s/S]*?)(/&lt/;//script/&gt/;)/ig, function ($1,$2,$3,$4){$2=$2.replace(//&lt/;script.*?/&gt/;/ig, function (m_){m_=m_.replace(/([a-z]+)/=(/'|/")(/S+)/2/gi,'<span style="color:blue;">$1</span>=$2<span style="color:fuchsia;">$3</span>$2');m_=m_.replace(//&lt/;script/i,'/&lt/;<span style="color:red">script</span>');return m_;});// main block$3=$3.replace(/(/!/=/=|/=/=/=)/g,'###$1###');$3=$3.replace(/([^#=!*///])(/!/=|/=/=)/g,'$1###$2###');$3=$3.replace(/([^#=!*///])(/=)/g,'$1###$2###');$3=$3.replace(/([/w]+)/.([^!=><]*)(/(|/[/{|)([^!=><]*)(/)|/}|/})/gi,function(m_){m_=m_.replace(/(/(|/[|/{)(.*?)(/}|/]|/))/gi,'$1<span style="color:fuchsia">$2</span>$3');return m_.fontcolor('blue');})$3=$3.replace(/([a-z.0-9/[/]/-/+_]+)( |)([#]{3}(/!|/=|/*|//))/gi,function($1_,$2_, $3_, $4_){if(/(/[|/()/.test($2_)>-1){$2_=$2_.replace(/(/[|/))(.*?)(/)|/])/g,'$1<span style="color:fuchsia;">$2</span>$3' );}$2_='<span style="color:blue;">'+$2_+'</span>';return $2_+$3_+$4_;})$3=$3.replace(/([#]{3}[^a-z0-9]*?[#]{3})([^<>]+)/g, function($1_, $2_, $3_){$3_=$3_.replace(/(/{|/(|/[)([^/(/{/[]+)(/)|/}|/])/g,'$1<span style="color:fuchsia;">$2</span>$3');$3_='<span style="color:red;">'+$3_+'</span>';return $2_+$3_;})var re=new RegExp('(else|if|while|alert|var|try|catch|finaly|for|switch|case|'+'default|function|return|break|null|false|true|new)','gi');$3=$3.replace(re,function($1){$1='<span style="font-weight:bold;">'+$1+'</span>';return $1;});// CDATA$3=$3.replace(/(/!/[)(CDATA)(/[)/gi,'$1<span style="font-weight:bold;">$2</span>$3');$3=$3.replace(/[#]{3}(.+?)[#]{3}/gi,'<span style="color:orange;">$1</span>');$3=$3.replace(/([^<>]+)/g,'//<span style="color:ccc;">$1</span>');$3=$3.replace(*[/s/S]*?/*///g,function(m_){m_=m_.replace(/>([/s/S]*?)</g,'><span style="color:#ccc;">$1</span><');return m_;});$3=$3.replace(*([^<>]+)/*///g,'/*<span style="color:#ccc">$1</span>*/');$4=$4.replace(/script/i,'<span style="color:red">script</span>');return $2+$3+$4;});return m;});}//------------------------------end script// begin xmlif(//bxml/b/gi.test(sOpt)||sOpt=='all'){// XMLsStr=sStr.replace(//&lt/;/?xml[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/[a-z]+/=(/'|/").*?/1/gi,function(m_){m_=m_.replace(/(/'|")(.*?)/1/, '$1<span style="color:fuchsia;">$2</span>$1')m_=m_.replace(/(.*?)/=/,'<span style="color:blue;">$1</span>=');return m_;});m=m.replace(//?([a-z-]+)/i,'?<span style="color:red;">$1</span>')return m;} );// ELEMENTsStr=sStr.replace(//&lt/;/!ELEMENT[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^(?,*+)|]+) /gi,' <span style="color:blue;">$1</span> ');m=m.replace(/(!ELEMENT)/gi,'<span style="color:red;">$1</span>');m=m.replace(//(([/s/S]+)/)/gi,function ($1){return $1.replace(/([/S]+)/gi,'<span style="color:fuchsia;">$1</span>')});return m;} );// ATTLISTsStr=sStr.replace(//&lt/;/!ATTLIST[^><]+(/&gt/;|)/gi, function(m){//&lt;!ATTLIST title id CDATA #IMPLIED&gt;m=m.replace(/ ([^#]+)/g, ' <span style="color:blue;">$1</span>');m=m.replace(/([#][^&]+)/g,'<span style="color:fuchsia">$1</span>');m=m.replace(/(!ATTLIST)/gi,'<span style="color:red;">$1</span>');return m;} );// ATTLIST 1sStr=sStr.replace(//&lt/;/!ATTLIST[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(ATTLIST)/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// DOCTYPEsStr=sStr.replace(//&lt/;/!DOCTYPE[^><]+(/&gt/;|)/[/gi, function(m){m=m.replace(/ (/S+) /gi,' <span style="font-weight:bold">$1</span> ');m=m.replace(//!(DOCTYPE)/gi, '!<span style="color:red">$1</span>');return m;} );// IGNOREsStr=sStr.replace(//&lt/;/!/[ (IGNORE|INCLUDE)[^><]+(/]/]/&gt/;|/&gt/;|)/gi, function(m){m=m.replace(/(/&lt/;!/[) (IGNORE|INCLUDE)/,'$1 <span style="font-weight:bold">$2</span>');m=m.replace(/([^!])/[([/S ]+)/]/,'$1[<span style="color:fuchsia">$2</span>]')return m;} );// DOCTYPE 1sStr=sStr.replace(//&lt/;/!DOCTYPE[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(DOCTYPE)/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// NOTATIONsStr=sStr.replace(//&lt/;/!NOTATION[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(NOTATION)/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// ENTYT(Y|IES)sStr=sStr.replace(//&lt/;/!ENTIT(Y|IES)[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(ENTIT(Y|IES))/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// </markup/>sStr=sStr.replace(//&lt/;(//|)[a-z0-9_/-:]+(/&gt/;| ///&gt/;|///&gt/;)/gi, function(m){m=m.replace(/(/&lt/;(//|))([a-z0-9_/-:]+)/gi,'$1<span style="color:red;">$3</span>');return m;} );// <markup pram='value'/>sStr=sStr.replace(/&lt;[^<>]+/=[^><]+(///&gt/;|/&gt/;|)/gi, function(m){m=m.replace(/([a-z:]+)( |)/=/gi,'<span style="color:blue;">$1</span>$2###=###');m=m.replace(/[#]{3}/=[#]{3}(/'|")([^<>'"]+)/g,'=$1<span style="color:fuchsia;">$2</span>');m=m.replace(//#{3}/=/#{3}/g,'=');m=m.replace(/(/&lt/;)([^<>]+)/,'$1<span style="color:red;">$2</span>');return m;} );}//------------------------------end xmlreturn sStr;}}//-------------------------end function fHighlight(sStr, sOpt)-------------------------//onload=function(){document.body.innerHTML=fHighlight(document.body.innerHTML, 'javascript xml');}//]]></script>

2. 使用演示.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>shawl.qiu template</title><script type="text/javascript">//<![CDATA[/*------------------------------------------------------------*/ * shawl.qiu Javascript 语法高亮函数 v1.0 * ---/---------------------------------- * 参数说明: * sStr: 字符串, 要进行语法高亮的字符串. * sOpt: 字符串, 要进行语法高亮的语言, all 为编码全部可用语法(目前只有 xml, javascript 选项). * 注: 后续版本将会逐渐支持: css, html, xhtml, asp/vbscript, * asp/jscript, c#.net, , T-SQL. * 特别注意: 本函数采用 ###字符### 作为特别标记, 因此, 为了不出错,请将 # 字符进行编码. * 如: # -> &#35; /*------------------------------------------------------------*///-------------------------begin function fHighlight(sStr, sOpt)-----------------------//function fHighlight(sStr, sOpt){if(!sStr||sStr.replace(//s+/g,'').length<0)return false;if(!sOpt) var sOpt='all';sOpt=sOpt.toLowerCase();try{return rpls(sStr, sOpt)}catch(e){};function rpls(sStr, sOpt){if(!sOpt) var sOpt='all';//------------------------------begin scriptif(//bjavascript/b/ig.test(sOpt)||sOpt=='all'){sStr=sStr.replace(//&lt/;script.*?/&gt/;[/s/S]*?/&lt/;//script/&gt/;/gi,function (m){m=m.replace(/(/&lt/;script.*?/&gt/;)([/s/S]*?)(/&lt/;//script/&gt/;)/ig, function ($1,$2,$3,$4){$2=$2.replace(//&lt/;script.*?/&gt/;/ig, function (m_){m_=m_.replace(/([a-z]+)/=(/'|/")(/S+)/2/gi,'<span style="color:blue;">$1</span>=$2<span style="color:fuchsia;">$3</span>$2');m_=m_.replace(//&lt/;script/i,'/&lt/;<span style="color:red">script</span>');return m_;});// main block$3=$3.replace(/(/!/=/=|/=/=/=)/g,'###$1###');$3=$3.replace(/([^#=!*///])(/!/=|/=/=)/g,'$1###$2###');$3=$3.replace(/([^#=!*///])(/=)/g,'$1###$2###');$3=$3.replace(/([/w]+)/.([^!=><]*)(/(|/[/{|)([^!=><]*)(/)|/}|/})/gi,function(m_){m_=m_.replace(/(/(|/[|/{)(.*?)(/}|/]|/))/gi,'$1<span style="color:fuchsia">$2</span>$3');return m_.fontcolor('blue');})$3=$3.replace(/([a-z.0-9/[/]/-/+_]+)( |)([#]{3}(/!|/=|/*|//))/gi,function($1_,$2_, $3_, $4_){if(/(/[|/()/.test($2_)>-1){$2_=$2_.replace(/(/[|/))(.*?)(/)|/])/g,'$1<span style="color:fuchsia;">$2</span>$3' );}$2_='<span style="color:blue;">'+$2_+'</span>';return $2_+$3_+$4_;})$3=$3.replace(/([#]{3}[^a-z0-9]*?[#]{3})([^<>]+)/g, function($1_, $2_, $3_){$3_=$3_.replace(/(/{|/(|/[)([^/(/{/[]+)(/)|/}|/])/g,'$1<span style="color:fuchsia;">$2</span>$3');$3_='<span style="color:red;">'+$3_+'</span>';return $2_+$3_;})var re=new RegExp('(else|if|while|alert|var|try|catch|finaly|for|switch|case|'+'default|function|return|break|null|false|true|new)','gi');$3=$3.replace(re,function($1){$1='<span style="font-weight:bold;">'+$1+'</span>';return $1;});// CDATA$3=$3.replace(/(/!/[)(CDATA)(/[)/gi,'$1<span style="font-weight:bold;">$2</span>$3');$3=$3.replace(/[#]{3}(.+?)[#]{3}/gi,'<span style="color:orange;">$1</span>');$3=$3.replace(/([^<>]+)/g,'//<span style="color:ccc;">$1</span>');$3=$3.replace(*[/s/S]*?/*///g,function(m_){m_=m_.replace(/>([/s/S]*?)</g,'><span style="color:#ccc;">$1</span><');return m_;});$3=$3.replace(*([^<>]+)/*///g,'/*<span style="color:#ccc">$1</span>*/');$4=$4.replace(/script/i,'<span style="color:red">script</span>');return $2+$3+$4;});return m;});}//------------------------------end script// begin xmlif(//bxml/b/gi.test(sOpt)||sOpt=='all'){// XMLsStr=sStr.replace(//&lt/;/?xml[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/[a-z]+/=(/'|/").*?/1/gi,function(m_){m_=m_.replace(/(/'|")(.*?)/1/, '$1<span style="color:fuchsia;">$2</span>$1')m_=m_.replace(/(.*?)/=/,'<span style="color:blue;">$1</span>=');return m_;});m=m.replace(//?([a-z-]+)/i,'?<span style="color:red;">$1</span>')return m;} );// ELEMENTsStr=sStr.replace(//&lt/;/!ELEMENT[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^(?,*+)|]+) /gi,' <span style="color:blue;">$1</span> ');m=m.replace(/(!ELEMENT)/gi,'<span style="color:red;">$1</span>');m=m.replace(//(([/s/S]+)/)/gi,function ($1){return $1.replace(/([/S]+)/gi,'<span style="color:fuchsia;">$1</span>')});return m;} );// ATTLISTsStr=sStr.replace(//&lt/;/!ATTLIST[^><]+(/&gt/;|)/gi, function(m){//&lt;!ATTLIST title id CDATA #IMPLIED&gt;m=m.replace(/ ([^#]+)/g, ' <span style="color:blue;">$1</span>');m=m.replace(/([#][^&]+)/g,'<span style="color:fuchsia">$1</span>');m=m.replace(/(!ATTLIST)/gi,'<span style="color:red;">$1</span>');return m;} );// ATTLIST 1sStr=sStr.replace(//&lt/;/!ATTLIST[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(ATTLIST)/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// DOCTYPEsStr=sStr.replace(//&lt/;/!DOCTYPE[^><]+(/&gt/;|)/[/gi, function(m){m=m.replace(/ (/S+) /gi,' <span style="font-weight:bold">$1</span> ');m=m.replace(//!(DOCTYPE)/gi, '!<span style="color:red">$1</span>');return m;} );// IGNOREsStr=sStr.replace(//&lt/;/!/[ (IGNORE|INCLUDE)[^><]+(/]/]/&gt/;|/&gt/;|)/gi, function(m){m=m.replace(/(/&lt/;!/[) (IGNORE|INCLUDE)/,'$1 <span style="font-weight:bold">$2</span>');m=m.replace(/([^!])/[([/S ]+)/]/,'$1[<span style="color:fuchsia">$2</span>]')return m;} );// DOCTYPE 1sStr=sStr.replace(//&lt/;/!DOCTYPE[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(DOCTYPE)/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// NOTATIONsStr=sStr.replace(//&lt/;/!NOTATION[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(NOTATION)/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// ENTYT(Y|IES)sStr=sStr.replace(//&lt/;/!ENTIT(Y|IES)[^><]+(/&gt/;|)/gi, function(m){m=m.replace(/ ([^'!<>"" ]+)/gi,' <span style="color:blue">$1</span>');m=m.replace(//!(ENTIT(Y|IES))/i,'!<span style="color:red;">$1</span>');m=m.replace(/([^=])(/'|/")([^/<> ]+)/2/g,'$1$2<span style="color:fuchsia;">$3</span>$2');return m;} );// </markup/>sStr=sStr.replace(//&lt/;(//|)[a-z0-9_/-:]+(/&gt/;| ///&gt/;|///&gt/;)/gi, function(m){m=m.replace(/(/&lt/;(//|))([a-z0-9_/-:]+)/gi,'$1<span style="color:red;">$3</span>');return m;} );// <markup pram='value'/>sStr=sStr.replace(/&lt;[^<>]+/=[^><]+(///&gt/;|/&gt/;|)/gi, function(m){m=m.replace(/([a-z:]+)( |)/=/gi,'<span style="color:blue;">$1</span>$2###=###');m=m.replace(/[#]{3}/=[#]{3}(/'|")([^<>'"]+)/g,'=$1<span style="color:fuchsia;">$2</span>');m=m.replace(//#{3}/=/#{3}/g,'=');m=m.replace(/(/&lt/;)([^<>]+)/,'$1<span style="color:red;">$2</span>');return m;} );}//------------------------------end xmlreturn sStr;}}//-------------------------end function fHighlight(sStr, sOpt)-------------------------//onload=function(){document.body.innerHTML=fHighlight(document.body.innerHTML, 'javascript xml');}//]]></script></head><body><div id="sqEditorMain" class="sqEditorMain"><pre class="sqPre"><ol><li>&lt;script type="text/javascript"&gt;</li><li>//&lt;![CDATA[</li><li>/*------------------------------------------------------------*/</li><li> * shawl.qiu Javascript 语法高亮函数 v1.0</li><li> * ---/----------------------------------</li><li> * 参数说明:</li><li> * sStr: 字符串, 要进行语法高亮的字符串.</li><li> * sOpt: 字符串, 要进行语法高亮的语言, all 为编码全部可用语法(目前只有 xml, javascript 选项).</li><li> * 注: 后续版本将会逐渐支持: css, html, xhtml, asp/vbscript, </li><li> * asp/jscript, c#.net, , T-SQL.</li><li> * 特别注意: 本函数采用 ###字符### 作为特别标记, 因此, 为了不出错,请将 # 字符进行编码.</li><li> * 如: # -&gt; &amp;#35; </li><li>/*------------------------------------------------------------*/</li><li>//-------------------------begin function fHighlight(sStr, sOpt)-----------------------//</li><li>function fHighlight(sStr, sOpt){</li><li>if(!sStr||sStr.replace(//s+/g,'').length&lt;0)return false;</li><li>if(!sOpt) var sOpt='all';</li><li>sOpt=sOpt.toLowerCase();</li><li>try{return rpls(sStr, sOpt)}catch(e){};</li><li>function rpls(sStr, sOpt){</li><li>if(!sOpt) var sOpt='all';</li><li>//------------------------------begin script</li><li>if(//bjavascript/b/ig.test(sOpt)||sOpt=='all'){</li><li>sStr=sStr.replace(//&amp;lt/;script.*?/&amp;gt/;[/s/S]*?/&amp;lt/;//script/&amp;gt/;/gi,</li><li>function (m){</li><li>m=m.replace(/(/&amp;lt/;script.*?/&amp;gt/;)([/s/S]*?)(/&amp;lt/;//script/&amp;gt/;)/ig, function ($1,$2,$3,$4){</li><li>$2=$2.replace(//&amp;lt/;script.*?/&amp;gt/;/ig, function (m_){</li><li>m_=m_.replace(/([a-z]+)/=(/'|/")(/S+)/2/gi,</li><li>'&lt;span style="color:blue;"&gt;$1&lt;/span&gt;=$2&lt;span style="color:fuchsia;"&gt;$3&lt;/span&gt;$2');</li><li>m_=m_.replace(//&amp;lt/;script/i,'/&amp;lt/;&lt;span style="color:red"&gt;script&lt;/span&gt;');</li><li>return m_;</li><li>});</li><li>// main block</li><li>$3=$3.replace(/(/!/=/=|/=/=/=)/g,'###$1###');</li><li>$3=$3.replace(/([^#=!*///])(/!/=|/=/=)/g,'$1###$2###');</li><li>$3=$3.replace(/([^#=!*///])(/=)/g,'$1###$2###');</li><li>$3=$3.replace(/([/w]+)/.([^!=&gt;&lt;]*)(/(|/[/{|)([^!=&gt;&lt;]*)(/)|/}|/})/gi,function(m_){</li><li>m_=m_.replace(/(/(|/[|/{)(.*?)(/}|/]|/))/gi,'$1&lt;span style="color:fuchsia"&gt;$2&lt;/span&gt;$3');</li><li>return m_.fontcolor('blue');</li><li>})</li><li>$3=$3.replace(/([a-z.0-9/[/]/-/+_]+)( |)([#]{3}(/!|/=|/*|//))/gi,function($1_,$2_, $3_, $4_){</li><li>if(/(/[|/()/.test($2_)&gt;-1){</li><li>$2_=$2_.replace(/(/[|/))(.*?)(/)|/])/g,'$1&lt;span style="color:fuchsia;"&gt;$2&lt;/span&gt;$3' );</li><li>}</li><li>$2_='&lt;span style="color:blue;"&gt;'+$2_+'&lt;/span&gt;';</li><li>return $2_+$3_+$4_;</li><li>})</li><li>$3=$3.replace(/([#]{3}[^a-z0-9]*?[#]{3})([^&lt;&gt;]+)/g, function($1_, $2_, $3_){</li><li>$3_=$3_.replace(/(/{|/(|/[)([^/(/{/[]+)(/)|/}|/])/g,</li><li>'$1&lt;span style="color:fuchsia;"&gt;$2&lt;/span&gt;$3');</li><li>$3_='&lt;span style="color:red;"&gt;'+$3_+'&lt;/span&gt;';</li><li>return $2_+$3_;</li><li>})</li><li>var re=new RegExp('(else|if|while|alert|var|try|catch|finaly|for|switch|case|'+</li><li>'default|function|return|break|null|false|true|new)','gi');</li><li>$3=$3.replace(re,function($1){</li><li>$1='&lt;span style="font-weight:bold;"&gt;'+$1+'&lt;/span&gt;';</li><li>return $1;</li><li>});</li><li>// CDATA</li><li>$3=$3.replace(/(/!/[)(CDATA)(/[)/gi,'$1&lt;span style="font-weight:bold;"&gt;$2&lt;/span&gt;$3');</li><li>$3=$3.replace(/[#]{3}(.+?)[#]{3}/gi,'&lt;span style="color:orange;"&gt;$1&lt;/span&gt;');</li><li>$3=$3.replace(/([^&lt;&gt;]+)/g,'//&lt;span style="color:ccc;"&gt;$1&lt;/span&gt;');</li><li>$3=$3.replace(*[/s/S]*?/*///g,function(m_){</li><li>m_=m_.replace(/&gt;([/s/S]*?)&lt;/g,'&gt;&lt;span style="color:#ccc;"&gt;$1&lt;/span&gt;&lt;');</li><li>return m_;</li><li>});</li><li>$3=$3.replace(*([^&lt;&gt;]+)/*///g,'/*&lt;span style="color:#ccc"&gt;$1&lt;/span&gt;*/');</li><li>$4=$4.replace(/script/i,'&lt;span style="color:red"&gt;script&lt;/span&gt;');</li><li>return $2+$3+$4;</li><li>});</li><li>return m;</li><li>});</li><li>}</li><li>//------------------------------end script</li><li>// begin xml</li><li>if(//bxml/b/gi.test(sOpt)||sOpt=='all'){</li><li>// XML</li><li>sStr=sStr.replace(//&amp;lt/;/?xml[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/[a-z]+/=(/'|/").*?/1/gi,function(m_){</li><li>m_=m_.replace(/(/'|")(.*?)/1/, '$1&lt;span style="color:fuchsia;"&gt;$2&lt;/span&gt;$1')</li><li>m_=m_.replace(/(.*?)/=/,'&lt;span style="color:blue;"&gt;$1&lt;/span&gt;='); </li><li> return m_;</li><li>});</li><li>m=m.replace(//?([a-z-]+)/i,'?&lt;span style="color:red;"&gt;$1&lt;/span&gt;')</li><li>return m;</li><li>} );</li><li>// ELEMENT</li><li>sStr=sStr.replace(//&amp;lt/;/!ELEMENT[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/ ([^(?,*+)|]+) /gi,' &lt;span style="color:blue;"&gt;$1&lt;/span&gt; ');</li><li>m=m.replace(/(!ELEMENT)/gi,'&lt;span style="color:red;"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(//(([/s/S]+)/)/gi,function ($1){</li><li>return $1.replace(/([/S]+)/gi,'&lt;span style="color:fuchsia;"&gt;$1&lt;/span&gt;')</li><li>}</li><li>);</li><li>return m;</li><li>} );</li><li>// ATTLIST</li><li>sStr=sStr.replace(//&amp;lt/;/!ATTLIST[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>//&amp;lt;!ATTLIST title id CDATA #IMPLIED&amp;gt;</li><li>m=m.replace(/ ([^#]+)/g, ' &lt;span style="color:blue;"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(/([#][^&amp;]+)/g,'&lt;span style="color:fuchsia"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(/(!ATTLIST)/gi,'&lt;span style="color:red;"&gt;$1&lt;/span&gt;');</li><li>return m;</li><li>} );</li><li>// ATTLIST 1</li><li>sStr=sStr.replace(//&amp;lt/;/!ATTLIST[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/ ([^'!&lt;&gt;"" ]+)/gi,' &lt;span style="color:blue"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(//!(ATTLIST)/i,'!&lt;span style="color:red;"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(/([^=])(/'|/")([^/&lt;&gt; ]+)/2/g,'$1$2&lt;span style="color:fuchsia;"&gt;$3&lt;/span&gt;$2');</li><li>return m;</li><li>} );</li><li>// DOCTYPE</li><li>sStr=sStr.replace(//&amp;lt/;/!DOCTYPE[^&gt;&lt;]+(/&amp;gt/;|)/[/gi, function(m){</li><li>m=m.replace(/ (/S+) /gi,' &lt;span style="font-weight:bold"&gt;$1&lt;/span&gt; ');</li><li>m=m.replace(//!(DOCTYPE)/gi, '!&lt;span style="color:red"&gt;$1&lt;/span&gt;');</li><li>return m;</li><li>} );</li><li>// IGNORE</li><li>sStr=sStr.replace(//&amp;lt/;/!/[ (IGNORE|INCLUDE)[^&gt;&lt;]+(/]/]/&amp;gt/;|/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/(/&amp;lt/;!/[) (IGNORE|INCLUDE)/,'$1 &lt;span style="font-weight:bold"&gt;$2&lt;/span&gt;');</li><li>m=m.replace(/([^!])/[([/S ]+)/]/,'$1[&lt;span style="color:fuchsia"&gt;$2&lt;/span&gt;]')</li><li>return m;</li><li>} );</li><li>// DOCTYPE 1</li><li>sStr=sStr.replace(//&amp;lt/;/!DOCTYPE[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/ ([^'!&lt;&gt;"" ]+)/gi,' &lt;span style="color:blue"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(//!(DOCTYPE)/i,'!&lt;span style="color:red;"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(/([^=])(/'|/")([^/&lt;&gt; ]+)/2/g,'$1$2&lt;span style="color:fuchsia;"&gt;$3&lt;/span&gt;$2');</li><li>return m;</li><li>} );</li><li>// NOTATION</li><li>sStr=sStr.replace(//&amp;lt/;/!NOTATION[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/ ([^'!&lt;&gt;"" ]+)/gi,' &lt;span style="color:blue"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(//!(NOTATION)/i,'!&lt;span style="color:red;"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(/([^=])(/'|/")([^/&lt;&gt; ]+)/2/g,'$1$2&lt;span style="color:fuchsia;"&gt;$3&lt;/span&gt;$2');</li><li>return m;</li><li>} );</li><li>// ENTYT(Y|IES)</li><li>sStr=sStr.replace(//&amp;lt/;/!ENTIT(Y|IES)[^&gt;&lt;]+(/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/ ([^'!&lt;&gt;"" ]+)/gi,' &lt;span style="color:blue"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(//!(ENTIT(Y|IES))/i,'!&lt;span style="color:red;"&gt;$1&lt;/span&gt;');</li><li>m=m.replace(/([^=])(/'|/")([^/&lt;&gt; ]+)/2/g,'$1$2&lt;span style="color:fuchsia;"&gt;$3&lt;/span&gt;$2');</li><li>return m;</li><li>} );</li><li>// &lt;/markup/&gt;</li><li>sStr=sStr.replace(//&amp;lt/;(//|)[a-z0-9_/-:]+(/&amp;gt/;| ///&amp;gt/;|///&amp;gt/;)/gi, function(m){</li><li>m=m.replace(/(/&amp;lt/;(//|))([a-z0-9_/-:]+)/gi,'$1&lt;span style="color:red;"&gt;$3&lt;/span&gt;');</li><li>return m;</li><li>} );</li><li>// &lt;markup pram='value'/&gt;</li><li>sStr=sStr.replace(/&amp;lt;[^&lt;&gt;]+/=[^&gt;&lt;]+(///&amp;gt/;|/&amp;gt/;|)/gi, function(m){</li><li>m=m.replace(/([a-z:]+)( |)/=/gi,'&lt;span style="color:blue;"&gt;$1&lt;/span&gt;$2###=###');</li><li>m=m.replace(/[#]{3}/=[#]{3}(/'|")([^&lt;&gt;'"]+)/g,</li><li>'=$1&lt;span style="color:fuchsia;"&gt;$2&lt;/span&gt;');</li><li>m=m.replace(//#{3}/=/#{3}/g,'=');</li><li>m=m.replace(/(/&amp;lt/;)([^&lt;&gt;]+)/,'$1&lt;span style="color:red;"&gt;$2&lt;/span&gt;');</li><li>return m;</li><li>} );</li><li>}</li><li>//------------------------------end xml</li><li>return sStr;</li><li>}</li><li>}</li><li>//-------------------------end function fHighlight(sStr, sOpt)-------------------------//</li><li>οnlοad=function(){</li><li>document.body.innerHTML=fHighlight(document.body.innerHTML, 'javascript xml');</li><li>}</li><li>//]]&gt;</li><li>&lt;/script&gt;</li><li> </li></ol></pre> </div></body></html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。