Heim  >  Artikel  >  Backend-Entwicklung  >  去除php注释与空格函数

去除php注释与空格函数

WBOY
WBOYOriginal
2016-07-25 08:53:54643Durchsuche
  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. }
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn