首页  >  文章  >  后端开发  >  如何使用 DOMDocument 和 XPath 从 HTML 中定位和提取特定文本内容?

如何使用 DOMDocument 和 XPath 从 HTML 中定位和提取特定文本内容?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-30 09:51:27961浏览

How can DOMDocument and XPath be used to Target and Extract Specific Text Content from HTML?

针对特定内容的 DOMDocument 解析

使用强大的 PHP 库“DOMDocument”可以精确解析 HTML 文档。与检索具有特定名称的所有标签的“getElementsByTagName”不同,此方法利用 XPath 查询来有效地定位所需的元素。

捕获特定上下文中的文本节点

到提取特定文本内容,该过程涉及:

  • 使用“DOMDocument::loadHTML”将 HTML 字符串加载到 DOM 对象中。
  • 使用“new DOMXPath”启动“XPath”对象($dom)"。
  • 使用指定目标节点的 XPath 查询。例如:
$tags = $xpath->query('//div[@class="main"]/div[@class="text"]');

此查询检索所有

嵌套在
中的“text”类标签具有“main”类的标签。

使用“foreach”循环迭代生成的元素列表可以提取“nodeValue”,其中包含实际文本:

foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}

示例实现

考虑以下 HTML 片段:

<code class="html"><div class="main">
    <div class="text">
    Capture this text 1
    </div>
</div>

<div class="main">
    <div class="text">
    Capture this text 2
    </div>
</div></code>

使用提供的查询,输出将是:

string 'Capture this text 1' (length=19)
string 'Capture this text 2' (length=19)

This演示使用“DOMDocument”和 XPath 在分层 HTML 结构中精确提取特定文本内容的能力。

以上是如何使用 DOMDocument 和 XPath 从 HTML 中定位和提取特定文本内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn