【问题标题】:Minification of Dynamic Javascript using PHP使用 PHP 缩小动态 Javascript
【发布时间】:2012-02-17 13:23:48
【问题描述】:

我有一些 JavaScript,它是由 PHP 代码使用模板生成的。

模板的结果是一个包含 JavaScript 但语句分散在其中的文件。

我想通过删除空格和 cmets 来减小此文件的大小。

但是,我在网上只能找到用于纯 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 样式的 cmets,然后围绕 PHP 块、Javascript Strings ' 或 " 和 Regex Patterns / 拆分剩余代码,并提取代码块、字符串和正则表达式模式、模式或字符串中的代码应作为正则表达式中的第二个选项而被忽略。 最后一行应该将压缩块中的空白减少到一个空格

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

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

重建脚本。

我错过了什么?

【问题讨论】:

    标签: php javascript minify inline-code


    【解决方案1】:

    你想要这样的东西吗?

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

    【讨论】:

    • 嘿!太棒了。就一个问题。我可以在生产服务器上使用它吗?我的意思是它不会产生任何问题或漏洞
    • 我也想在 Zend 中实现它。最好的方法是什么?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      • 2011-01-10
      • 2012-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多