>  기사  >  백엔드 개발  >  去除php注释与空格函数

去除php注释与空格函数

WBOY
WBOY원래의
2016-07-25 08:53:54643검색
  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 if (is_string($tokens[$i])) {
  12. $last_space = false;
  13. $stripStr .= $tokens[$i];
  14. } else {
  15. switch ($tokens[$i][0]) {
  16. //过滤各种PHP注释
  17. case T_COMMENT:
  18. case T_DOC_COMMENT:
  19. break;
  20. //过滤空格
  21. case T_WHITESPACE:
  22. if (!$last_space) {
  23. $stripStr .= ' ';
  24. $last_space = true;
  25. }
  26. break;
  27. case T_START_HEREDOC:
  28. $stripStr .= " break;
  29. case T_END_HEREDOC:
  30. $stripStr .= "THINK;\n";
  31. for($k = $i+1; $k if(is_string($tokens[$k]) && $tokens[$k] == ';') {
  32. $i = $k;
  33. break;
  34. } else if($tokens[$k][0] == T_CLOSE_TAG) {
  35. break;
  36. }
  37. }
  38. break;
  39. default:
  40. $last_space = false;
  41. $stripStr .= $tokens[$i][1];
  42. }
  43. }
  44. }
  45. return $stripStr;
  46. }
复制代码


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.