1

我有一些使用模板由 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]

重建脚本。

我错过了什么?

4

2 回答 2

6

你想要这样的东西吗?

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

于 2012-02-08T01:00:57.650 回答
0

动态 javascript 是指散布在其中的 PHP 标记的 javascript?如果是这样的话,那么你真的应该找到新的编程方法,比如 JSON 流。我还在我的网站中使用了有效负载,这可能是您比 PHP JS 更简洁的方法。您也许可以使用通用的 PHP 和 JS Minifier 来缩小 PHP 页面。祝你好运。

于 2012-02-08T01:11:14.053 回答