您的位置
主页 > 网站技术 > 语言编程 > » 正文

分享去除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;

}




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明