本文实例讲述了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,'<< 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目录操作技巧汇总》、《php文件操作总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
关注微信公众号获取更多VSCode编程信息,定时发布干货文章
全部评论