zaininnari / html-minifier
The Blink HTMLTokenizer ported to PHP.
Installs: 361 365
Dependents: 9
Suggesters: 5
Security: 0
Stars: 62
Watchers: 6
Forks: 18
Open Issues: 4
Requires
- php: >=5.3.0
Requires (Dev)
- satooshi/php-coveralls: dev-master
This package is not auto-updated.
Last update: 2024-12-21 15:13:51 UTC
README
The Blink HTMLTokenizer ported to PHP and minify HTML.
Requirements
- Any flavor of PHP 5.3 should do
- [optional] PHPUnit 3.5+ to execute the test suite (phpunit --version)
Use
Create composer.json. [composer.json]
{ "require": { "zaininnari/html-minifier": "*" } }
Download composer.phar and install.
curl -sS https://getcomposer.org/installer | php
php composer.phar install
<?php require 'vendor/autoload.php'; use zz\Html\HTMLMinify; $html = '<div> <p> text </p> </div>'; // shortcut. retrun minify html $minify = HTMLMinify::minify($html); // detail $HTMLMinify = new HTMLMinify($html); $minify = $HTMLMinify->process();
output html
<div> <p> text </p> </div>
Option
optimizationLevel
OPTIMIZATION_SIMPLE(default)
Replace many whitespace to a single whitespace. This option leave a new line of one.
[input]
<section> <h1>Example of paragraphs</h1> This is the <em>first</em> paragraph in this example. <p>This is the second.</p> <!-- This is not a paragraph. --> <!--[if expression]> HTML <![endif]--> <![if expression]> HTML <![endif]> </section>
[output]
<section> <h1>Example of paragraphs</h1> This is the <em>first</em> paragraph in this example. <p>This is the second.</p> <!--[if expression]> HTML <![endif]--> <![if expression]> HTML <![endif]> </section>
OPTIMIZATION_ADVANCED
Remove the whitespace of all as much as possible.
- Remove whitespace
- between block element and block element
- between block element and inline element
- run trim in style, script and downlevel-revealed conditional comment
- [future] consider comments
- Preserve whitespace
- between inline element and inline element
[input]
<section> <h1>Example of paragraphs</h1> This is the <em>first</em> paragraph in this example. <p>This is the second.</p> <!-- This is not a paragraph. --> <!--[if expression]> HTML <![endif]--> <![if expression]> HTML <![endif]> </section>
[output]
<section><h1>Example of paragraphs</h1>This is the<em>first</em>paragraph in this example.<p>This is the second.</p><!--[if expression]> HTML <![endif]--><![if expression]>HTML<![endif]></section>
Author
zaininnari
http://www.zay.jp/
Original source
License
Licensed under the MIT License and other License - see the LICENSE
file for details