我有一些使用模板由 PHP 代码生成的 JavaScript。
模板的结果是一个包含 JavaScript 但语句分散在其中的文件。
我想通过删除空格和注释来减小这个文件的大小。
然而,我在网上只能找到用于纯 JavaScript 的工具,这些工具非常复杂。
我已经准备好编写一个脚本来使用同一系统减少 HTML 和基于 CSS 的内容,我正在寻找有关减少 JavaScript 文件大小的信息,以便我可以编写一个可以处理文件中 PHP 代码的缩减脚本.
所以我想要的是:
减少 JavaScript 代码大小的教程。我可以分析一个用于减少 JavaScript 大小的简单脚本。或者一个可以与 JavaScript 代码内联的 PHP 正常工作的工具(必须是公共领域,或允许在商业作品中使用的开源)
编辑:
$script = preg_replace('%/\*.*?\*/%','',$script);
$compress = preg_split('%("|\'|/)(?:\\\\|\\\1|[^\1])*?\1|<\?php\s+(?:("|\')(?:\\\\|\\\2|[^\2])*?\2|[^"\']*?)*?\?>%',$script);
preg_match_all('%(("|\'|/)(?:\\\\|\\\2|[^\2])*?\2|<\?php\s+(?:("|\')(?:\\\\|\\\3|[^\3])*?\3|[^"\']*?)*?\?>)%',$script,$no_compress);
foreach ($compress as &$block) { $block = preg_replace('%\s+%',' ',$block); }
我想我已经解决了,上面应该删除 C 样式的注释,然后围绕 PHP 块、Javascript Strings ' 或 " 和 Regex Patterns / 拆分剩余代码,并提取代码块、字符串和 Regex 模式,模式或字符串中的代码应作为正则表达式中的第二个选项被忽略。最后一行应将压缩块中的空白减少为单个空格
那么它应该只是块的重组问题,即
$cscript .= $compress[$i].$no_compress[$i]
重建脚本。
我错过了什么?