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

新客网 XKER.COM 时间:2014-03-16 20:44:12  评论:
  1. /** 
  2.  * 去除代码中的空白和注释 
  3.  * @param string $content 代码内容 
  4.  * @return string 
  5.  */ 
  6. function strip_whitespace($content) { 
  7.     $stripStr   = ''
  8.     //分析php源码 
  9.     $tokens     = token_get_all($content); 
  10.     $last_space = false; 
  11.     for ($i = 0, $j = count($tokens); $i < $j$i++) { 
  12.         if (is_string($tokens[$i])) { 
  13.             $last_space = false; 
  14.             $stripStr  .= $tokens[$i]; 
  15.         } else { 
  16.             switch ($tokens[$i][0]) { 
  17.                 //过滤各种PHP注释 
  18.                 case T_COMMENT: 
  19.                 case T_DOC_COMMENT: 
  20.                     break
  21.                 //过滤空格 
  22.                 case T_WHITESPACE: 
  23.                     if (!$last_space) { 
  24.                         $stripStr  .= ' '
  25.                         $last_space = true; 
  26.                     } 
  27.                     break
  28.                 case T_START_HEREDOC: 
  29.                     $stripStr .= "<<<THINK\n"
  30.                     break
  31.                 case T_END_HEREDOC: 
  32.                     $stripStr .= "THINK;\n"
  33.                     for($k = $i+1; $k < $j$k++) { 
  34.                         if(is_string($tokens[$k]) && $tokens[$k] == ';') { 
  35.                             $i = $k
  36.                             break
  37.                         } else if($tokens[$k][0] == T_CLOSE_TAG) { 
  38.                             break
  39.                         } 
  40.                     } 
  41.                     break
  42.                 default
  43.                     $last_space = false; 
  44.                     $stripStr  .= $tokens[$i][1]; 
  45.             } 
  46.         } 
  47.     } 
  48.     return $stripStr

如果您喜欢本文请分享给您的好友,谢谢!如想浏览更多更好的PHP教程内容,请登录:http://www.xker.com/edu/dev/2/index.html

相关内容标签:PHP教程
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)