herdwatch / html-pretty-min
基于DOM树的HTML压缩器与缩进器
v0.2.1
2021-04-06 10:10 UTC
Requires
- php: >=5.4
- mrclay/jsmin-php: ^2.3
- symfony/options-resolver: >=2.3
- tubalmartin/cssmin: ^4
Requires (Dev)
- phpunit/phpunit: ^4|^5|^6|^7
README
HTML Pretty-Min 是一个PHP库,用于压缩和格式化(缩进)HTML文档,直接在HTML文档的DOM树上进行操作。
目前具有以下功能
-
格式化输出:
- 缩进块级元素,不缩进行内元素
-
压缩:
- 移除空白和换行符
- 使用 mrclay/jsmin-php 压缩内嵌的JavaScript
- 使用 tubalmartin/cssmin 压缩内嵌的CSS
- 当属性值为空时移除一些属性(默认为"style"和"class"属性)
- 移除注释,除非它们与给定的正则表达式匹配(默认保留IE条件注释)
安装
HTML Pretty-Min 列在 Packagist 上。
composer require wa72/html-pretty-min
使用方法
<?php use Wa72\HtmlPrettymin\PrettyMin; $pm = new PrettyMin(); $output = $pm ->load($html) // $html may be a \DOMDocument, a string containing an HTML code, // or an \SplFileInfo pointing to an HTML document ->minify() ->saveHtml();
对于格式化输出,请调用 indent()
方法而不是 minify()
。
注意:由于格式化是直接在DOM树上进行的,传递给 load()
方法的 DOMDocument 对象将被修改
$dom_document = new \DOMDocument('1.0', 'UTF-8'); $dom_document->loadHTML('<html>...some html code...</html>'); $pm->load($dom_document)->minify(); echo $dom_document->saveHTML(); // Will output the minified, not the original, document