这篇文章主要介绍了PHP递归遍历文件夹去除注释并压缩php源代码的方法,涉及php文件与目录的遍历、读取、判断及使用php_strip_whitespace函数删除注释的相关操作技巧,需要的朋友可以参考下
本文实例讲述了PHP递归遍历文件夹去除注释并压缩代码的方法。分享给大家供大家参考,具体如下:
";
}
}
}
}else{
// 此处无用(因为来的都是目录),如果只转换一个文件,就可以这样使用。
file_put_contents($arr[1].'/'.$dirname,replace_PHP_src($arr[0].'/'.$dirname) );
}
}
// 去除注释并压缩,heredoc存在的时候去注释不压缩。
function replace_PHP_src($src){
$contents = file_get_contents($src);
$num = substr_count($contents,'<<<'); // heredoc 是否存在。
$str = "";
if($num > 0){ // heredoc 存在。只去除注释不压缩。
$file = token_get_all($contents); // token_get_all() 将提供的源码按 PHP 标记进行分割.
for ($i=0; $i < count($file); $i++) {
if( is_string($file[$i]) ){
$str .= $file[$i];
}else{
$name = token_name( $file[$i][0] ); // token_name() 获取提供的 PHP 解析器代号的符号名称.
if($name == 'T_COMMENT' || $name == 'T_DOC_COMMENT' ){ // 去除注释
continue;
}else{
$str .= $file[$i][1];
}
}
}
}else{
$str = PHP_strip_whitespace($src); // 不存在 heredoc 。因为他会错误解析。
}
return $str;
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。