Download the PHP package zxf/dom without Composer
On this page you can find all versions of the php package zxf/dom. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package dom
zxf/dom - 强大的 PHP DOM 操作库
一个功能强大、易于使用的 PHP DOM 操作库,提供简洁的 API 来解析、查询和操作 HTML/XML 文档。
🇺🇸 Read English Documentation (README_EN.md)
特性
- ✅ 完整的 CSS3 选择器支持 - 支持 150+ 种 CSS 选择器类型
- ✅ 原生 XPath 支持 - 可直接使用 XPath 表达式查询
- ✅ 丰富的伪类 - 支持 100+ 种伪类选择器
- ✅ 伪元素支持 - 支持
::text和::attr()伪元素 - ✅ 扩展选择器功能 - 文本长度匹配、属性长度/数量选择器、基于深度的选择器
- ✅ 正则表达式支持 - 强大的正则表达式匹配和数据提取功能
- ✅ 表格数据提取 - 重构后的表格处理,严格分离表头表体,避免数据混杂
- ✅ 列表数据提取 - 支持嵌套列表递归提取数据
- ✅ 矩阵数据提取 - 重构后的矩阵数据处理,给出每行每列数据 queryMatrix
- ✅ 表单数据提取 - 提取表单字段数据,返回字段名与值的关联数组
- ✅ 链接/图片数据提取 - 提取链接和图片的结构化数据
- ✅ 智能选择器类型 - findWithFallback 支持 css/xpath/regex/table/list/form/link/image/text/json 10种选择器类型
- ✅ JSON 数据处理 - 支持 JSON 字符串/数组/对象的解析和提取
- ✅ 链式调用 - 流畅的 API 设计,支持链式操作
- ✅ PHP 8.2+ 类型系统 - 完整的类型注解,更好的 IDE 支持
- ✅ HTML/XML 双模式 - 同时支持 HTML 和 XML 文档处理
- ✅ 高性能 - 选择器编译缓存,提升查询速度
- ✅ UTF-8 编码支持 - 完善的中文等多字节字符支持
- ✅ 表单元素操作 - 专门的表单选择器和操作方法
- ✅ 错误处理机制 - 统一的异常处理和错误报告
- ✅ 完整的测试覆盖 - 230+ 个测试用例,确保代码质量
系统要求
- PHP >= 8.2(支持 8.2、8.3、8.4)
- libxml 扩展
- cURL 扩展(用于从远程 URL 加载文档)
安装
使用 Composer 安装
手动安装
快速开始
基本用法
从远程 URL 加载文档
注意: 从远程 URL 加载需要启用 cURL 扩展。
XML 文档处理
链式调用
支持的选择器
CSS 选择器(70+ 种)
基础选择器:
*- 通配符选择器tag- 标签选择器.class- 类选择器#id- ID 选择器s1, s2- 多选择器s1 s2- 后代选择器s1 > s2- 子选择器s1 + s2- 相邻兄弟选择器s1 ~ s2- 通用兄弟选择器
属性选择器:
[attr]- 包含属性[attr=value]- 属性等于[attr~=value]- 属性包含单词[attr|=value]- 属性等于或以...开头[attr^=value]- 属性以...开头[attr$=value]- 属性以...结尾[attr*=value]- 属性包含
伪类(60+ 种):
- 结构伪类:
:first-child,:last-child,:nth-child(n)等 - 内容伪类:
:contains(text),:has(selector),:empty等 - 表单伪类:
:enabled,:disabled,:checked,:required等 - 表单元素伪类:
:text,:password,:checkbox,:radio等 - HTML 元素伪类:
:header,:input,:button,:link等 - 位置伪类:
:first,:last,:even,:odd,:eq(n)等 - 可见性伪类:
:visible,:hidden
伪元素:
::text- 获取元素文本内容::attr(name)- 获取元素属性值
XPath 选择器
- 完整的 XPath 1.0 支持
- 所有 XPath 函数:
contains(),starts-with(),position(),last()等 - 所有 XPath 轴和运算符
API 参考
Document
代表 HTML/XML 文档的主文档类。
从远程 URL 加载文档
注意: 从远程 URL 加载需要启用 cURL 扩展。
Element
代表文档中的一个元素。
ClassAttribute
管理元素的类属性。
StyleAttribute
管理元素的样式属性。
Encoder
编码/解码工具类。
Errors
错误处理工具。
示例
示例 1:查找元素
示例 2:修改元素
示例 3:网页爬虫
示例 4:表格数据提取
性能优化建议
-
使用更具体的选择器 - 更具体的选择器速度更快
-
缓存查询结果 - 存储频繁使用的元素
- 使用 ID 选择器 - ID 选择器是最快的
测试
运行测试套件:
运行示例:
文档
- USER_GUIDE.md - 完整的用户指南和示例
- RULE_GUIDE.md - 全面选择器参考手册
- REGEX_ENHANCED.md - 正则表达式增强功能详解
- TABLE_EXTRACTION.md - 表格数据提取完整指南
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
MIT License
支持
如有问题和疑问,请使用 GitHub 问题跟踪器。
版本: 2.0.0
最后更新: 2026-05-14
附录:快速参数参考
selectors 数组参数格式(findWithFallback)
extractTable 选项
extractList 选项
queryMatrix 选项
Document 类常用方法速查
| 方法 | 功能 | 参数 |
|---|---|---|
find() |
查找元素 | (expression, type='css', contextNode=null) |
first() |
查找首个 | (expression, type='css', contextNode=null) |
xpath() |
XPath 查询 | (xpathExpression) |
regex() |
正则查找 | (pattern, contextNode=null, attribute=null) |
findByText() |
文本查找 | (text, selector='*') |
findByAttribute() |
属性查找 | (attribute, value=null, selector='*') |
findByData() |
data属性查找 | (dataName, value=null, selector='*') |
findByPath() |
路径查找 | (path, relative=false) |
extractTable() |
提取表格 | (table=null, options=[]) |
extractList() |
提取列表 | (list=null, options=[]) |
extractFormData() |
提取表单 | (form=null) |
findWithFallback() |
回退查找 | (selectors, contextNode=null, getFirst=true) |
queryMatrix() |
矩阵数据 | (container='div', options=[]) |
详细完整参数说明请参考 src/docs/RULE_GUIDE.md(选择器规则说明文档)和 src/docs/USER_GUIDE.md(完整使用指南)。
All versions of dom with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.2
The package zxf/dom contains the following files
Loading the files please wait ...