gpt4 book ai didi

PHP DOM 解析
标签之间的文本

转载 作者:行者123 更新时间:2023-12-02 07:21:59 25 4
gpt4 key购买 nike

我正在尝试解析一些 HTML 以获取两个 <hr> 之间的文本将 DOM 与 PHP 结合使用的标签,但是当我传入 hr 时没有得到任何输出进入getElementsByTagName :

<?php 
$dom = new DOMDocument();
$dom->loadHTML("<hr>Text<hr>");
$hr = $dom->getElementsByTagName("hr");
for ($i=0; $i<$hr->length; $i++) {
echo "[". $i . "]" . $hr->item($i)->nodeValue . "</br>";
}
?>

当我运行此代码时,它不会输出任何内容,但是,如果我更改 "hr""*"然后输出:

[0]Text
[1]Text
[2]
[3]

(为什么是四行结果?)

我在运行 PHP 7.1.3 版的网络服务器上运行此代码。我无法使用 file_get_html 等功能或 str_get_html因为它返回有关未定义函数调用的错误 ...

为什么 hr 没有标签产生结果?

最佳答案

也许您正在寻找的是两个<hr>之间的文本节点的内容元素?在这种情况下,我们将寻找具有 XPath 表达式的 sibling :

<?php
$dom = new DOMDocument();
$dom->loadHTML("Some text<hr>The text<hr>Other text");
$xp = new DomXPath($dom);
$result = $xp->query("//text()[(preceding-sibling::hr and following-sibling::hr)]");
foreach ($result as $i=>$node) {
echo "[$i]$node->textContent<br/>\n";
}

关于PHP DOM 解析 <hr> 标签之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43128392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com