arjanschouten/htmlminifier
Composer 安装命令:
composer require arjanschouten/htmlminifier
包简介
PHP based Html minifier with support for Laravel/Lumen. This minifier will improve you're application size drastically!
README 文档
README
This package is still in Beta version! Use it with care!
HtmlMinifier
Installation
Let composer do the hard work for us!
composer require arjanschouten/htmlminifier
Laravel 5.*
A Laravel package based on this minifier can be installed by running:
composer require arjanschouten/laravelhtmlminifier
Plain php projects with composer
If you're not using a php framework you can use the minifier by using the code below:
//include the composer autoloader require __DIR__ . '/vendor/autoload.php'; // create a minify context which will be used through the minification process $context = new MinifyContext(new PlaceholderContainer()); // save the html contents in the context $context->setContents('<html>My html...</html>'); $minify = new Minify(); // start the process and give the context with it as parameter $context = $minify->run($context); // $context now contains the minified version $minifiedContents = $context->getContents();
Options
This minifier have some minification options which are:
| Minification strategy | Option Name | Enabled by default |
|---|---|---|
| Remove redundant whitespaces | whitespaces | yes |
| Remove comments | comments | yes |
| Collapse boolean attributes from checked="checked" to checked | boolean-attributes | yes |
| Remove quotes around html attributes | remove-attributequotes | no |
| Remove optional elements which can be implied by the browser | optional-elements | no |
Remove defaults such as from <script type=text/javascript> |
remove-defaults | no |
| Remove empty attributes. HTML boolean attributes are skipped | remove-empty-attributes | no |
You can enable the various minification options for example with:
... $options = [ 'whitespace' => false, 'remove-defaults' => true, ]; $minify->run($context, $options);
This will disable whitespace and enables remove-defaults.
Contributing
Contributions are welcome. Please read the CONTRIBUTING.md readme.
Testing
HtmlMinifier uses phpunit for testing. You can run the tests with vendor/bin/phpunit .
License
This package is licensed under the MIT License.
Creator and Maintainer
This package is created and maintained by Arjan Schouten.
arjanschouten/htmlminifier 适用场景与选型建议
arjanschouten/htmlminifier 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 947 次下载、GitHub Stars 达 23, 最近一次更新时间为 2015 年 08 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「html」 「minifier」 「html minifier」 「laravel html minifier」 「lumen html minifier」 「html compressor」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 arjanschouten/htmlminifier 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 arjanschouten/htmlminifier 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 arjanschouten/htmlminifier 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Texy converts plain text in easy to read Texy syntax into structurally valid (X)HTML. It supports adding of images, links, nested lists, tables and has full support for CSS. Texy supports hyphenation of long words (which reflects language rules), clickable emails and URL (emails are obfuscated again
HTMLMin Is A Simple HTML Minifier For Laravel
A token based Javascript parser/minifier designed for compressing inline scripts on the fly, written in PHP
A token based CSS Document parser and minifier written in PHP
A token based HTML document parser and minifier. Minify HTML documents including inline CSS, Javascript, and SVG's on the fly. Extract document text, attributes, and fragments. Full test suite.
Minify your css/js
统计信息
- 总下载量: 947
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 23
- 点击次数: 26
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-08-25