去除php注释和去除空格函数分享

2015-01-24信息快讯网

这篇文章主要介绍了去除php注释和去除空格函数,php5中已提供相同功能的函数,这里只为学习PHP,需要的朋友可以参考下

虽然php5中已有php_strip_whitespace方法可以返回删除注释和空格后的PHP源码的功能,为了学习,这里为大家提供一个自己的方法,也可以去除代码中的空白和注释,代码如下:

/**
 * 去除代码中的空白和注释
 * @param string $content 代码内容
 * @return string
 */
function strip_whitespace($content) {
    $stripStr   = '';
    //分析php源码
    $tokens     = token_get_all($content);
    $last_space = false;
    for ($i = 0, $j = count($tokens); $i < $j; $i++) {
        if (is_string($tokens[$i])) {
            $last_space = false;
            $stripStr  .= $tokens[$i];
        } else {
            switch ($tokens[$i][0]) {
                //过滤各种PHP注释
                case T_COMMENT:
                case T_DOC_COMMENT:
                    break;
                //过滤空格
                case T_WHITESPACE:
                    if (!$last_space) {
                        $stripStr  .= ' ';
                        $last_space = true;
                    }
                    break;
                case T_START_HEREDOC:
                    $stripStr .= "<<<THINK\n";
                    break;
                case T_END_HEREDOC:
                    $stripStr .= "THINK;\n";
                    for($k = $i+1; $k < $j; $k++) {
                        if(is_string($tokens[$k]) && $tokens[$k] == ';') {
                            $i = $k;
                            break;
                        } else if($tokens[$k][0] == T_CLOSE_TAG) {
                            break;
                        }
                    }
                    break;
                default:
                    $last_space = false;
                    $stripStr  .= $tokens[$i][1];
            }
        }
    }
    return $stripStr;
}

又一个PHP实现的冒泡排序算法分享
PHP中几个可以提高运行效率的代码写法、技巧分享
个人写的PHP验证码生成类分享
PHP中使用sleep造成mysql读取失败的案例和解决方法
ThinkPHP登录功能的实现方法
PHP date()函数警告: It is not safe to rely on the system解决方法
PHP中exec函数和shell_exec函数的区别
PHP基于数组实现的分页函数实例
PHP函数eval()介绍和使用示例
PHP函数http_build_query使用详解
php中替换字符串中的空格为逗号','的方法
PHP批量检测并去除文件BOM头代码实例
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
php去除换行(回车换行)的三种方法
php统计时间和内存使用情况示例分享
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
使用PHP导出Redis数据到另一个Redis中的代码
PHP的变量类型和作用域详解
PHP四大安全策略
PHP中4个加速、缓存扩展的区别和选用建议
PHP输出缓存ob系列函数详解
php初始化对象和析构函数的简单实例
PHP中isset()和unset()函数的用法小结
php中3种方法删除字符串中间的空格
PHP文件大小格式化函数合集
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
php去除字符串换行符示例分享
discuz加密解密函数使用方法和中文注释
php实现图形显示Ip地址的代码及注释
修改apache配置文件去除thinkphp url中的index.php
php去除HTML标签实例
ajax返回值中有回车换行、空格的解决方法分享
Zend studio文件注释模板设置方法
PHP在引号前面添加反斜杠(PHP去除反斜杠)
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
©2014-2024 dbsqp.com