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

WBOY
Libérer: 2016-07-13 10:35:35
original
853 Les gens l'ont consulté

   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文件并去除代码中的空白和注释,但不支持直接读取内容去除空白和注释,下面的方法则可以...
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!