
本文介绍如何将 html 字符串(如 `"
hi"`)转换为 php 中可操作的 dom 对象,替代 simple_html_dom 的 `file_get_html()`,推荐使用原生 `domdocument` + `domxpath` 实现安全、高效、无依赖的 html 解析。在 PHP 开发中,经常需要动态解析 HTML 内容——例如从 API 响应、数据库字段或模板渲染结果中获取的 HTML 字符串。虽然第三方库如 simple_html_dom 提供了类似 file_get_html() 的便捷接口,但它已多年未维护,且存在内存泄漏与 XSS 风险隐患。PHP 原生的 DOMDocument 类是更可靠、标准且性能更优的选择。
要将 HTML 字符串转为可遍历、可查询的 DOM 对象,核心步骤如下:
- 实例化 DOMDocument
- 调用 loadHTML() 加载字符串(注意:需处理 UTF-8 编码与警告抑制)
- 配合 DOMXPath 执行 XPath 查询,精准定位节点
✅ 推荐实践代码(含错误处理与编码适配):
Hello
World!