ejklock/simplehtmldom

一个快速、简单且可靠的PHP HTML文档解析器。

2.0-RC2 2019-11-09 15:42 UTC

This package is auto-updated.

Last update: 2024-09-24 16:02:58 UTC


README

LICENSE RELEASE BASIC TESTS PACKAGIST

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。以下是一些建议

  • 与您的朋友分享此项目(Twitter、Facebook、...您名字里有的...)。
  • 报告错误(SourceForge)。
  • 请求功能(SourceForge)。
  • 讨论现有错误、功能和想法。

如果您想为项目贡献代码,请打开功能请求,并在消息中包含您的补丁。

作者

许可

simplehtmldom的源代码采用MIT许可证。有关更多信息,请阅读根目录中的LICENSE文件(应位于此README文件旁边)。

技术说明

simplehtmldom是一个纯PHP基于的DOM解析器,不依赖于外部库如libxmlSimpleXMLPHP DOM。这样做可以提供更好的解析算法控制,以及一个更简单的API,即使是新手用户也可以在短时间内学会使用。