欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP文件去掉PHP注釋空格的函數(shù)分析(PHP代碼壓縮)

 更新時(shí)間:2013年07月02日 10:54:56   作者:  
我自己嘗試過正則,但是發(fā)現(xiàn)在過濾單行注釋等方面不盡如意,很容易出錯(cuò)。無意中看到了某sns里面的strip_whitespace函數(shù),特進(jìn)行分享,希望能對(duì)需要的朋友有所幫助
最近我從thinkphp的‘RUNTIME_ALLINONE'借鑒到經(jīng)驗(yàn):不怕緩存多,就怕調(diào)用亂,索性將所有常用的文件全部合并成一個(gè)文件,豈不美哉。。。
復(fù)制代碼 代碼如下:

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;
                default:
                    $last_space = false;
                    $stripStr .= $tokens[$i][1];
            }
        }
    }
    return $stripStr;
}

該自定義函數(shù)有效解決了php_strip_whitespace系統(tǒng)內(nèi)置去注釋空格函數(shù)不能正確理解<<<EOT(heredoc)的問題
使用方法
復(fù)制代碼 代碼如下:

$str = strip_whitespace('<?php'.$str);

前面一定要拼接這個(gè),我也搞不懂,不拼接的話執(zhí)行生成的結(jié)果是錯(cuò)誤的結(jié)果
php_strip_whitespace
string php_strip_whitespace (string$filename )
如果僅僅是單文件并且沒有heredoc的話,還是建議使用快捷的php_strip_whitespace函數(shù)

相關(guān)文章

最新評(píng)論