php - 使用 PHP 缩小动态 Javascript

标签 php javascript minify inline-code

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

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

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

然而,我在网上所能找到的都是用于纯 JavaScript 的工具,这些工具非常复杂。

我已经准备好使用同一系统编写一个脚本来减少 HTML 和基于 CSS 的内容,我正在寻找有关减少 JavaScript 文件大小的信息,以便我可以编写一个可以处理 PHP 代码的减少脚本在文件中。

所以我想要的是:

减少 JavaScript 代码大小的教程。 一个简单易懂的脚本,用于减少我可以分析的 JavaScript 大小。 或者可以与 JavaScript 代码内联的 PHP 一起正常工作的工具(必须是公共(public)领域,或者是允许在商业作品中使用的开源)

编辑:

$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 block 、Javascript 字符串 ' 或 "和正则表达式/拆分剩余的代码,并且还提取代码块、字符串和正则表达式模式,模式或字符串中的代码应该被忽略,因为它是正则表达式中的第二个选项。 最后一行应将压缩 block 中的空白减少为一个空格

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

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

重建脚本。

我错过了什么吗?

最佳答案

你想要这样的东西吗?

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

关于php - 使用 PHP 缩小动态 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9186383/

相关文章:

javascript正则表达式允许数字和特定特殊字符

javascript - "\/"在 javascript 正则表达式中有效吗?

php - 使用数据库存储 session 时的 session cookie参数

php - 如何在远程服务器中执行 "php artisan migrate"和其他 Laravel 命令?

Javascript\x 转义

css - 查找未使用的 css

http - 将多个 S3 文件请求到一个请求中

php - Yii2 WHERE IN 查询

php - 在数据库中插入多个值

javascript - 当还有 SPAN 时,从内部 html 中提取 td 值