欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-10 12:58:06
...
  PHP内置了一个php_strip_whitespace方法用于读取php文件并去除代码中的空白和注释,但不支持直接读取内容去除空白和注释,下面的方法则可以支持读取字符串内容,并且ThinkPHP框架内置了该方法。

  /**

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

  * @param string $content 代码内容

  * @return string

  */

  function strip_whitespace($content) {

  $stripStr = '';

  //分析php源码

  $tokens = token_get_all($content);

  $last_space = false;

  for ($i = 0, $j = count($tokens); $i

  if (is_string($tokens[$i])) {

  $last_space = false;

  $stripStr .= $tokens[$i];

  } else {

  switch ($tokens[$i][0]) {

  //过滤各种PHP注释

  case T_COMMENT:

  case T_DOC_COMMENT:

  break;

  //过滤空格

  case T_WHITESPACE:

  if (!$last_space) {

  $stripStr .= ' ';

  $last_space = true;

  }

  break;

  case T_START_HEREDOC:

  $stripStr .= "

  break;

  case T_END_HEREDOC:

  $stripStr .= "THINK;\n";

  for($k = $i+1; $k

  if(is_string($tokens[$k]) && $tokens[$k] == ';') {

  $i = $k;

  break;

  } else if($tokens[$k][0] == T_CLOSE_TAG) {

  break;

  }

  }

  break;

  default:

  $last_space = false;

  $stripStr .= $tokens[$i][1];

  }

  }

  }

  return $stripStr;

  }

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/742677.htmlTechArticlePHP内置了一个php_strip_whitespace方法用于读取php文件并去除代码中的空白和注释,但不支持直接读取内容去除空白和注释,下面的方法则可以...