pfaciana / tiny-html-minifier
使用单个类在PHP中压缩HTML
3.0.0
2020-07-27 03:41 UTC
This package is auto-updated.
Last update: 2024-08-27 13:41:42 UTC
README
简而言之
- PHP中的HTML压缩器。
- 它非常非常快。
- 只需要一个文件。
- 几乎不使用正则表达式。
- 几乎不使用选项。
详细信息 - 压缩器的作用
- 删除HTML注释。
- 删除自闭合元素的斜杠。
/>
变为>
。 - 删除
style
和script
标签中的type="text/css"
和type="text/javascript"
。 - 最小化
<head></head>
内的元素。它不会保留任何空白(除了script
内部)。 - 最小化
<body></body>
内的元素,但保留标签之间的空格以保留内联数据(可选)。 - 最小化内联SVG文件(它们是一堆XML标签)。
- 最小化自定义元素。它们看起来像这样:
<my-element>我的内容</my-element>
。 - 跳过
code
、pre
、script
和textarea
的压缩。
安装与使用
Composer
composer require pfaciana/tiny-html-minifier
PHP
<?php require __DIR__ . '/vendor/autoload.php'; use Minifier\TinyMinify; echo TinyMinify::html($html);
前后对比
之前
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" /> <link href="http://example.com/style.css" rel="stylesheet" /> <link rel="icon" href="http://example.com/favicon.png" /> <title>Tiny Html Minifier</title> </head> <body class="body"> <div class="main-wrap"> <main> <textarea> Some text with newlines and some spaces </textarea> <div class="test"> <p>This text</p> <p>should not</p> <p>wrap on multiple lines</p> </div> </main> </div> <script> console.log('Script tags are not minified'); console.log('This is inside a script tag'); </script></body> </html>
之后
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><link href="http://example.com/style.css" rel="stylesheet"><link rel="icon" href="http://example.com/favicon.png"><title>Tiny Html Minifier</title></head> <body class="body"><div class="main-wrap"> <main> <textarea> Some text with newlines and some spaces </textarea> <div class="test"> <p>This text</p> <p>should not</p> <p>wrap on multiple lines</p> </div> </main> </div> <script> console.log('Script tags are not minified'); console.log('This is inside a script tag'); </script></body></html>
选项
<?php require __DIR__ . '/vendor/autoload.php'; use Minifier\TinyMinify; echo TinyMinify::html($html, $options = [ 'collapse_whitespace' => false, 'disable_comments' => false, ]);
collapse_whitespace
未折叠
保留空格(除了<head></head>
内的大多数元素)。当使用内联元素时很有用。这是默认设置。
<ul><li> <a href="#"> My link </a></li><li> <a href="#"> My link </a></li> </ul>
折叠
空格被折叠。元素内的文本仍然保持不变。将此值设置为true
,您将节省一些额外的字节。
<ul><li><a href="#">My link</a></li><li><a href="#">My link</a></li></ul>
要求
- PHP7+
免责声明
本插件提供“现状”且不提供任何保证。自行承担使用风险,并在生产环境中使用前自行测试。如果您发现任何问题,请创建新问题。
许可
不建议在任何推广种族主义、性别歧视、恐同、动物虐待、暴力或其他任何形式的仇恨言论的项目中使用此插件。
捐赠
如果您想进行捐赠,可以通过发送任何金额https://www.paypal.me/DevoneraAB