hexydec / htmldoc
基于标记的HTML文档解析器和压缩器。即时压缩HTML文档,包括内联CSS、JavaScript和SVG。提取文档文本、属性和片段。完整的测试套件。
1.8.3
2023-12-30 22:06 UTC
Requires
- php: >=8.0
- hexydec/cssdoc: 1.2.0
- hexydec/jslite: 1.0.2
- hexydec/tokenise: 1.0.1
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: 10.1.2
README
基于标记器的HTML文档解析器和压缩器,用PHP编写。
描述
一个HTML解析器,主要用于压缩HTML文档,同时也允许查询文档结构,以便提取属性和文本节点值。
解析器设计基于标记器,使文档处理比基于正则表达式的压缩器更可靠,后者有点粗略,如果匹配错误位置的模式,可能会出现问题。
该软件还可以处理和压缩SVG文档。
用法
压缩HTML文档
use hexydec\html\htmldoc; $doc = new htmldoc(); // load from a variable if ($doc->load($html) { // minify the document $doc->minify(); // compile back to HTML echo $doc->save(); }
您可以在 https://hexydec.com/apps/minify-html/ 上在线测试压缩器,或者安装后运行提供的 index.php
文件。
从HTML文档中提取数据
use hexydec\html\htmldoc; $doc = new htmldoc(); // load from a URL this time if ($doc->open($url) { // extract text $text = $doc->find('.article__body')->text(); // extract attribute $attr = $doc->find('.article__author-image')->attr('src'); // extract HTML $html = $doc->find('.article__body')->html(); }
安装
启动的最简单方法是使用composer
$ composer install hexydec/htmldoc
HTMLdoc需要 \hexydec\token\tokenise 来运行,如果不使用composer,您可以手动安装。可选地,您还可以安装 CSSdoc 和 JSlite 来分别执行内联CSS和JavaScript压缩。
所有这些依赖项都将通过composer安装。
测试套件
您可以像这样运行测试套件
Linux
$ vendor/bin/phpunit
Windows
> vendor\bin\phpunit
文档
支持
HTMLdoc支持PHP版本8.0及以上。
贡献
如果您发现HTMLdoc有问题,请在跟踪器中创建问题。
如果您希望自行修复问题,请复制代码,修复问题,然后创建一个pull request,我将评估您的提交。
许可
MIT许可(MIT)。有关更多信息,请参阅 许可文件。