加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php 语法高亮函数示例

发布时间:2020-05-30 21:22:42 所属栏目:PHP 来源:互联网
导读:php 语法高亮函数示例

一个php实现的简单语法高亮显示的函数,注意:这个函数设计的比较简单,可能对某些语法不能高亮显示,你可以自己扩充该函数的功能,php语法高亮函数,感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编来看看吧。
经测试代码如下:


/**
 * 简单语法高亮显示的函数
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
function syntax_highlight($code){
 
    // this matches --> "foobar" <--
    $code = preg_replace(
        '/"(.*?)"/U','&quot;<span style="color: #007F00">$1</span>&quot;',$code
    );
 
    // hightlight functions and other structures like --> function foobar() <--- 
    $code = preg_replace(
        '/(s)b(.*?)((b|s)()/U','$1<span style="color: #0000ff">$2</span>$3',$code
    );
 
    // Match comments (like /* */): 
    $code = preg_replace(
        '/(//)(.+)s/','<span style="color: #660066; background-color: #FFFCB1;"><i>$0</i></span>',$code
    );
 
    $code = preg_replace(
        '/(/*.*?*/)/s',$code
    );
 
    // hightlight braces:
    $code = preg_replace('/((|[|{|}|]|)|->)/','<strong>$1</strong>',$code);
 
    // hightlight variables $foobar
    $code = preg_replace(
        '/($[a-zA-Z0-9_]+)/','<span style="color: #0000B3">$1</span>',$code
    );
 
    /* The b in the pattern indicates a word boundary,so only the distinct
    ** word "web" is matched,and not a word partial like "webbing" or "cobweb" 
    */
 
    // special words and functions
    $code = preg_replace(
        '/b(print|echo|new|function)b/','<span style="color: #7F007F">$1</span>',$code
    );
 
    return $code;
}
 
 
/*example-start*/
 
/*
** Create some example PHP code:
*/
 
$example_php_code = '
// some code comment:
$example = "foobar";
 
print $_SERVER["REMOTE_ADDR"];
 
$array = array(1,2,3,4,5);
 
function example_function($str) {
    // reverse string
    echo strrev($obj);
}
 
print example_function("foo");
 
/*
** A multiple line comment
*/
 
print "Something: " . $example;';
 
 
// output the formatted code:
print '<pre>';
print syntax_highlight($example_php_code);
print '</pre>';
 
/*example-end*/


/***   代码来自脚本之家 jb51.cc(jb51.cc)   ***/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读