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

如何使用 PHP 的 DOMDocument 和 XPath 从 HTML 中提取特定文本?

DDD
DDD原创
2024-11-01 13:00:03376浏览

How do I extract specific text from HTML using PHP's DOMDocument and XPath?

使用 PHP 的 DOMDocument 解析 HTML

要使用 PHP 的 DOMDocument 从 HTML 中提取特定文本元素,利用 XPath 查询比单独依赖更有效在 DOMDocument::getElementsByTagName 上。 XPath 查询允许根据文档结构中的特定条件进行精确选择。

从嵌套 DIV 中捕获文本

提供的示例 HTML 包含嵌套

。标签,其中目标文本位于
内具有“text”类的元素,这些元素又嵌套在
中。

要捕获目标文本,可以使用 XPath 查询:

<code class="php">$xpath->query('//div[@class="main"]/div[@class="text"]');</code>

此查询选择所有

元素。类属性设置为“text”并且是
的后代的元素类属性设置为“main”的元素。结果是匹配元素的列表。

迭代和提取节点值

要访问实际的文本内容,可以迭代每个匹配元素及其节点值访问的属性:

<code class="php">foreach ($tags as $tag) {
    var_dump(trim($tag->nodeValue));
}</code>

trim() 函数用于从提取的文本中删除任何前导或尾随空格。

执行输出

执行代码将输出以下内容:

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

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

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