Home >Backend Development >PHP Tutorial >Remove whitespace and comments in PHP code_PHP tutorial

Remove whitespace and comments in PHP code_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:35:35867browse

PHP has a built-in php_strip_whitespace method for reading PHP files and removing blanks and comments in the code. However, it does not support directly reading the content to remove blanks and comments. The following method can support reading string content. , and the ThinkPHP framework has this method built in.

 /**

 * Remove whitespace and comments in the code

* @param string $content code content

* @return string

*/

Function strip_whitespace($content) {

$stripStr = '';

//Analyze php source code

 $tokens = token_get_all($content);

 $last_space = false;

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

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

 $last_space = false;

 $stripStr .= $tokens[$i];

 } else {

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

//Filter various PHP comments

case T_COMMENT:

case T_DOC_COMMENT:

break;

//Filter spaces

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 < $j; $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 has a built-in php_strip_whitespace method for reading php files and removing whitespace and comments in the code, but it is not supported Read the content directly to remove blanks and comments. The following method can...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn