php的语法高亮函数,highlight_string和highlight_file(别名是:show_resource),以及highlight在php.ini中的配置

来源:互联网 发布:dll编程书籍 编辑:程序博客网 时间:2024/04/30 05:41

PHP内置的语法高亮函数,有2个,存在在 "Misc-杂项函数" 中:

    highlight_string(string $str [, bool $return = false])
    highlight_file(string $filename [, bool $return = false])
    show_source() - lighlight_file()的别名

highlight_string(string $str [, bool $return = false])

    1.单个文件的语法高亮,使用PHP内置的语法高亮器所定义的颜色,打印输出或者返回输出或者返回语法高亮版本的PHP代码。
    2.$filename - 需要高亮的文件
    3.$return - 默认是输出,设置为true,返回高亮后的代码
    4.实例:
        highlight_string('<?php phpinfo(); ?>');
        输出:
            <code><span style="color: #000000">
            <span style="color: #0000BB">&lt;?php phpinfo</span><span style="color: #007700">(); </span><span style="color: #0000BB">?&gt;</span>
            </span>
            </code>
        可以看到:就是html标签,及内嵌的css样式

highlight_file(string $filename [, bool $return = false]) - 基本同上,不过针对的是文件

    1.字符串的语法高亮,使用PHP内置的语法高亮器所定义的颜色,打印输出或者返回输出或者返回语法高亮版本的PHP代码。
    2.$str - 需要高亮的PHP代码,应当包含开始标签。(关键:必需包含开始标签 "<?php")
    3.$return - 默认是输出,设置为true,返回高亮后的代码

许多服务器配置了自动高亮 phps 扩展的文件。 比如,访问 example.phps 会显示语法高亮后的文件。 添加以下一行代码到 httpd.conf 使此生效:

    apache
        AddType application/x-httpd-php-source .phps
    /*
        我的mac电脑下的nginx如此配置,并不生效
            types {
                application/x-httpd-php-source .phps
            }
     */

    前提是:要高亮的.phps文件存在

application/x-httpd-php-source .phps,这个MIME类型是什么??资料确实很少,黏贴别人部分博客:

    phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。
    因为用户无法直接通过Web浏览器“看到”php文件的内容,所以需要用phps文件代替。
    其实,只要不用php等已经在服务器中注册过的MIME类型的文件扩展名即可,但为了国际通用,所以才用了phps文件类型。
    .phps的MIME类型为:text/html, application/x-httpd-php-source, application/x-httpd-php3-source。
    详情参考地址,可查看下面网址:
        http://filext.com/file-extension/PHPS(filext.com - 域名直译就是 "文件扩展名" 的意思,可供我们查看MIME类型)

2者都使用的是PHP内置的语法高亮所定义的颜色,查看了 "附录-php.ini配置" ,关于highlight的几个相关配置如下:

    highlight.bg    // 在PHP5.4.0以后移除了
    highlight.comment   // 注释
    highlight.default   // 默认文本
    highlight.html      // html部分
    highlight.keyword   // 关键字
    highlight.string    // 字符串
0 0