php实现简单的语法高亮函数实例分析
本文实例讲述了php实现简单的语法高亮函数。分享给大家供大家参考。具体分析如下:
这是一个php实现的简单语法高亮显示的函数,注意:这个函数设计的比较简单,可能对某些语法不能高亮显示,你可以自己扩充该函数的功能
functionsyntax_highlight($code){ //thismatches-->"foobar"<-- $code=preg_replace( '/"(.*?)"/U', '"<spanstyle="color:#007F00">$1</span>"',$code ); //hightlightfunctionsandotherstructureslike-->functionfoobar()<--- $code=preg_replace( '/(\s)\b(.*?)((\b|\s)\()/U', '$1<spanstyle="color:#0000ff">$2</span>$3', $code ); //Matchcomments(like/**/): $code=preg_replace( '/(\/\/)(.+)\s/', '<spanstyle="color:#660066;background-color:#FFFCB1;"><i>$0</i></span>', $code ); $code=preg_replace( '/(\/\*.*?\*\/)/s', '<spanstyle="color:#660066;background-color:#FFFCB1;"><i>$0</i></span>', $code ); //hightlightbraces: $code=preg_replace('/(\(|\[|\{|\}|\]|\)|\->)/','<strong>$1</strong>',$code); //hightlightvariables$foobar $code=preg_replace( '/(\$[a-zA-Z0-9_]+)/','<spanstyle="color:#0000B3">$1</span>',$code ); /*The\binthepatternindicatesawordboundary,soonlythedistinct **word"web"ismatched,andnotawordpartiallike"webbing"or"cobweb" */ //specialwordsandfunctions $code=preg_replace( '/\b(print|echo|new|function)\b/', '<spanstyle="color:#7F007F">$1</span>',$code ); return$code; } /*example-start*/ /* **CreatesomeexamplePHPcode: */ $example_php_code=' //somecodecomment: $example="foobar"; print$_SERVER["REMOTE_ADDR"]; $array=array(1,2,3,4,5); functionexample_function($str){ //reversestring echostrrev($obj); } printexample_function("foo"); /* **Amultiplelinecomment */ print"Something:".$example;'; //outputtheformattedcode: print'<pre>'; printsyntax_highlight($example_php_code); print'</pre>'; /*example-end*/
希望本文所述对大家的php程序设计有所帮助。