ホームページ  >  記事  >  バックエンド開発  >  PHPのコメントとスペース関数を削除する

PHPのコメントとスペース関数を削除する

WBOY
WBOYオリジナル
2016-07-25 08:53:54643ブラウズ
  1. /**
  2. * コード内の空白とコメントを削除します
  3. * @param string $content code content
  4. * @return string
  5. */
  6. functionstrip_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. $ tripStr .= $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 .= "<<
  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. ブレーク;
  37. } else if($tokens[$k][0] == T_CLOSE_TAG) {
  38. ブレーク;
  39. }
  40. }
  41. Break;
  42. デフォルト:
  43. $last_space = false;
  44. $stripStr .= $tokens[$i][1];
  45. }
  46. }
  47. }
  48. return $stripStr;
  49. }
复制代


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。