axy / min-html
压缩 HTML
0.1.1
2015-12-08 13:48 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-08 02:11:22 UTC
README
压缩 HTML.
- 该库不需要任何依赖。
- 在 PHP 5.4+、PHP 7、HHVM(Linux 上)、PHP 5.5(Windows 上)进行了测试。
- 安装:
composer require axy/min-html. - 许可证: MIT.
压缩
简单地删除了行首和行尾的缩进。有一些例外
- 一些标签内部(如
<pre>和<textarea>)的缩进是相关的。 - 一些标签的内容可以以特殊方式处理(例如,压缩
<script>和<style>)。
示例
源内容
<head> <title>Test</title> <script> var x = 2 + 2; console.log(x); </script> </head> <body> <h1>Test</h1> <p> This is example of HTML compression. </p> <pre> Content of PRE is PRE </pre> </body>
压缩内容
<head> <title>Test</title> <script>var x=2+2;console.log(x);</script> </head> <body> <h1>Test</h1> <p> This is example of HTML compression. </p> <pre> Content of PRE is PRE </pre> </body>
API
该库定义了一个公共类 axy\min\html\HTMLMinifier。
方法
__construct(string $content [, array $tags])run(void): stringgetOriginContent(void): stringgetCompressedContent(void): stringgetTags(void): array
静态方法
compress(string $content [, array $tags]): stringcompressFromFile(string $content [, array $tags]): stringcompressFile(string $source, string $destination [, array $tags]): stringgetDefaultsTags([array $tags]): array
示例
使用静态方法
use axy\min\html\HTMLMinifier; $source = 'index.html'; $destination = 'index.min.html'; HTMLMinifier::compressFile($source, $destination);
不使用静态方法
$min = new HTMLMinifier($content); $min->run(); echo $min->getCompressedContent();
标签
可选数组 tags 指定了如何处理标签的内容。
默认值是
[
'pre' => true,
'textarea' => true,
]
参数 $tags 与默认值合并。
TRUE - 不更改。或回调。
$tags = [ 'script' => function ($content) { return JSMinify::minify($content); }, 'textarea' => null, // Remove rule for TEXTAREA 'style' => true, // Content of STYLE does not change ]; HTMLMinifier::compressFile($source, $destination, $tags);