electrolinux/php-html5lib
最新稳定版本:0.1.0
Composer 安装命令:
composer require electrolinux/php-html5lib
包简介
A PHP implementations of a HTML parser based on the WHATWG HTML5 specification.
README 文档
README
This is an implementation of the tokenization and tree-building parts of the HTML5 specification in PHP. Potential uses of this library can be found in web-scrapers and HTML filters.
Warning: This is a pre-alpha release, and as such, certain parts of this code are not up-to-snuff (e.g. error reporting and performance). However, the code is very close to spec and passes 100% of tests not related to parse errors. Nevertheless, expect to have to update your code on the next upgrade.
Usage notes
<?php use HTML5Lib\Parser; $dom = Parser::parse('<html><body>...'); $nodelist = Parser::parseFragment('<b>Boo</b><br>'); $nodelist = Parser::parseFragment('<td>Bar</td>', 'table'); ?>
Documentation
Parser::parse($text)
$text : HTML to parse
return : DOMDocument of parsed document
Parser::parseFragment($text, $context)
$text : HTML to parse
$context : String name of context element
return : DOMDocument of parsed document
Developer notes
-
To setup unit tests, you need to add a small stub file test-settings.php that contains $simpletest_location = 'path/to/simpletest/'; This needs to be version 1.1 (or, until that is released, SVN trunk) of SimpleTest.
-
We don't want to ultimately use PHP's DOM because it is not tolerant of certain types of errors that HTML 5 allows (for example, an element "foo@bar"). But the current implementation uses it, since it's easy. Eventually, this html5lib implementation will get a version of SimpleTree; and may possibly start using that by default.
-
The original implementation of this performed line and column tracking in place. However, it was found that this approximately doubled the runtime of tokenization, so we decided to take a more optimistic approach: only calculate line/column numbers when explicitly asked to. This is slower if we attempt to calculate line/column numbers for everything in the document, but if there is a small enough number of errors it is a great improvement.
统计信息
- 总下载量: 197.45k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2013-03-18