首頁 >php教程 >php手册 >去除PHP代码中的空白和注释

去除PHP代码中的空白和注释

WBOY
WBOY原創
2016-06-07 11:46:001095瀏覽

PHP内置了一个php_strip_whitespace方法用于读取php文件并去除代码中的空白和注释,但不支持直接读取内容去除空白和注释,下面的方法则可以支持读取字符串内容,并且ThinkPHP框架内置了该方法。/**<br>  * 去除代码中的空白和注释<br>  * @param string $content 代码内容<br>  * @return string<br>  */<br> function strip_whitespace($content) {<br>     $stripStr   = '';<br>     //分析php源码<br>     $tokens     = token_get_all($content);<br>     $last_space = false;<br>     for ($i = 0, $j = count($tokens); $i          if (is_string($tokens[$i])) {<br>             $last_space = false;<br>             $stripStr  .= $tokens[$i];<br>         } else {<br>             switch ($tokens[$i][0]) {<br>                 //过滤各种PHP注释<br>                 case T_COMMENT:<br>                 case T_DOC_COMMENT:<br>                     break;<br>                 //过滤空格<br>                 case T_WHITESPACE:<br>                     if (!$last_space) {<br>                         $stripStr  .= ' ';<br>                         $last_space = true;<br>                     }<br>                     break;<br>                 case T_START_HEREDOC:<br>                     $stripStr .= "                     break;<br>                 case T_END_HEREDOC:<br>                     $stripStr .= "THINK;\n";<br>                     for($k = $i+1; $k                          if(is_string($tokens[$k]) && $tokens[$k] == ';') {<br>                             $i = $k;<br>                             break;<br>                         } else if($tokens[$k][0] == T_CLOSE_TAG) {<br>                             break;<br>                         }<br>                     }<br>                     break;<br>                 default:<br>                     $last_space = false;<br>                     $stripStr  .= $tokens[$i][1];<br>             }<br>         }<br>     }<br>     return $stripStr;<br> }

AD:真正免费,域名+虚机+企业邮箱=0元

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn