ejklock / simplehtmldom
一个快速、简单且可靠的PHP HTML文档解析器。
2.0-RC2
2019-11-09 15:42 UTC
Requires
- php: >=5.6
- ext-iconv: *
Requires (Dev)
- phpunit/phpunit: ^6 || ^7
Suggests
- ext-curl: Needed to support cURL downloads in class HtmlWeb
- ext-mbstring: Allows better decoding for multi-byte documents
- ext-openssl: Allows loading HTTPS pages when using cURL
This package is auto-updated.
Last update: 2024-09-24 16:02:58 UTC
README
simplehtmldom是一个快速且可靠的PHP HTML DOM解析器。
主要功能
- 纯PHP基于的DOM解析器(不需要XML扩展)。
- 适用于格式良好和格式不正确的HTML文档。
- 可以加载网页、本地文件和文档字符串。
- 支持CSS选择器。
要求
simplehtmldom需要PHP 5.6或更高版本,并且ext-iconv已启用。以下扩展可以启用解析器的附加功能
- ext-mbstring(推荐)
启用对多字节文档的更好检测。 - ext-curl
为HtmlWeb
类启用cURL支持。 - ext-openssl(当使用cURL时推荐)
为cURL启用SSL支持。
安装
手动:
从SourceForge下载最新版本,并在您的项目的vendor文件夹中提取文件。
Composer:
composer require simplehtmldom/simplehtmldom
Git:
git clone git://git.code.sf.net/p/simplehtmldom/repository simplehtmldom
注意:GitHub仓库https://github.com/simplehtmldom/simplehtmldom是SourceForge项目的镜像。我们目前只通过SourceForge接受pull请求和问题。
用法
此示例说明了如何返回页面标题
手动
<?php
include_once 'HtmlWeb.php';
use simplehtmldom\HtmlWeb;
$client = new HtmlWeb();
$html = $client->load('https://www.google.com/search?q=simplehtmldom');
// Returns the page title
echo $html->find('title', 0)->plaintext . PHP_EOL;
使用composer
<?php
include_once 'vendor/autoload.php';
use simplehtmldom\HtmlWeb;
$client = new HtmlWeb();
$html = $client->load('https://www.google.com/search?q=simplehtmldom');
// Returns the page title
echo $html->find('title', 0)->plaintext . PHP_EOL;
在安装文件夹下的examples
中查找更多示例。
文档
本库的文档托管在https://simplehtmldom.sourceforge.io/docs/
参与其中
您有多种方式可以参与simplehtmldom。以下是一些建议
如果您想为项目贡献代码,请打开功能请求,并在消息中包含您的补丁。
作者
- S.C. Chen
- John Schlick
- logmanoriginal
- Rus Carroll
- Yousuke Kumakura
- Vadim Voituk
许可
simplehtmldom的源代码采用MIT许可证。有关更多信息,请阅读根目录中的LICENSE文件(应位于此README文件旁边)。
技术说明
simplehtmldom是一个纯PHP基于的DOM解析器,不依赖于外部库如libxml、SimpleXML或PHP DOM。这样做可以提供更好的解析算法控制,以及一个更简单的API,即使是新手用户也可以在短时间内学会使用。