在处理一个被混淆过的js文件,做了美化格式化后,有12W行。
想把其中一些代码块处理一下,这些代码块有模式,就用php写正则处理
$pattern = "#(^\}, function\(.*\) {|^\}\(\[function\(.*\) {)\n(\s.*\n)*#m";
preg_match_all($pattern, $data, $matches);
var_export($matches);
结果是,php 执行过程是,
gdb 再次执行,按 bt 看一下栈, 结果发现 栈帧数 到了 12041 个,后台面还有更多,
也就是说,php 爆栈了。
看来不能用 正则的方法处理了,只能用 AST 的方法处理了。