2012-02-08 29 views
1

我使用模板创建了一些由PHP代码生成的JavaScript。使用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 /,并且还提取代码块,字符串和正则表达式模式,模式或者字符串中的代码应该被忽略,因为它是正则表达式中的第二个选项。 最后一行应该将压缩块中的空白空间减少到一个空格

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

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

要重建脚本。

我错过了什么?

回答

6

你想要这样的东西吗?

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

+0

嘿!太棒了。就一个问题。我可以在生产服务器上使用它吗?我的意思是它不会产生任何问题或漏洞 – 2017-08-31 07:48:33

+0

我也想在Zend中实现它。什么是最好的方法? – 2017-08-31 08:03:59

0

通过动态JavaScript你的意思的JavaScript已经散落通过它PHP标签?如果是这种情况,那么你真的应该找到新的编程方法就像一个JSON流。我也在我的网站中使用了有效载荷,这可能是一种你不想使用PHP JS的简洁方法。您可能可以使用通用PHP和JS Minifier来缩小PHP页面。祝你好运。