>  기사  >  php教程  >  去除PHP代码中的空白和注释

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

WBOY
WBOY원래의
2016-06-07 11:46:001051검색

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으로 문의하세요.