herdwatch/html-pretty-min

基于DOM树的HTML压缩器与缩进器

v0.2.1 2021-04-06 10:10 UTC

This package is auto-updated.

Last update: 2024-09-06 17:40:38 UTC


README

Build Status Latest Version

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