這篇文章主要介紹了去除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 .= "<<<THINKn"; 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; }