Gle*_*her 1 javascript php minify inline-code
我有一些JavaScript,它是由PHP代码使用模板生成的.
模板的结果是一个包含JavaScript的文件,但是语句分散在其中.
我想通过删除空格和注释来减小此文件的大小.
但是我在网上找到的只是普通JavaScript的工具,它们非常复杂.
我已经准备好编写一个脚本来减少HTML和基于CSS的内容使用相同的系统,我正在寻找减少JavaScript文件大小的信息,这样我就可以编写一个可以处理文件中PHP代码的简化脚本.
所以我想要的是:
减少JavaScript代码大小的教程.一个简单易懂的脚本,用于减少JavaScript大小,我可以分析.或者一个可以与PHP内联的JavaScript代码一起使用的工具(必须是公共域,或允许在商业作品中使用的开源)
编辑:
$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); }
Run Code Online (Sandbox Code Playgroud)
我想我已经解决了,上面应该删除C风格的注释,然后将剩下的代码分成PHP块,Javascript Strings'或",和Regex Patterns /,还提取代码块,字符串和正则表达式模式,模式或字符串中的代码应该被忽略,因为它是Regex中的第二个选项.最后一行应该将压缩块中的空白区域减少到一个空格
那么它应该只是块的重组问题,即
$cscript .= $compress[$i].$no_compress[$i]
Run Code Online (Sandbox Code Playgroud)
要重建脚本.
我错过了什么?