使用PHP实现动态Javascript的小型化


Minification of Dynamic Javascript using PHP

我有一些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); }

我想我已经解决了这个问题,上面应该删除C风格的注释,然后将剩余的代码拆分为PHP块、Javascript Strings'或"和Regex Patterns/,还提取代码块、字符串和Regex模式。Pattern或String中的代码应该被忽略,作为Regex中的第二个选项。最后一行应将压缩块中的空白空间减少为单个空间

那么它应该只是块的重组问题,即

$cscript .= $compress[$i].$no_compress[$i]

重新生成脚本。

我错过了什么?

你想要这样的东西吗?

http://code.google.com/p/minify/

所谓动态javascript,你指的是那些散布着PHP标记的javascript?如果是这样的话,那么你真的应该找到新的编程方法,比如JSON流。我也在我的网站上使用了有效载荷,这可能是一种除了PHP JS之外的方法。您可以使用通用的PHP和JS Minifier来缩小PHP页面。祝你好运