PHP:“无法获取DOMElement。使用DOMXpath

问题描述 投票:0回答:1

我有一些包含此内容的HTML:

<div class="test">
  Outer
  <div class="test">Inner 1</div>
  <div class="test">Inner 2</div>
</div>

我正在对这些元素的内容进行str_replace()

$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXpath($dom);

foreach($xpath->query("//div[@class='test']") as $node) {
    $node->nodeValue = str_replace(" ", "X", $node->nodeValue);
}

应该用“ X”替换所有空格。

但是会导致此错误:

警告:无法获取DOMElement。节点在第[[63]行的/ path / to / my / file.php中不再存在

如果只有一个嵌套的div,则可以使用:

<div class="test"> Outer <div class="test">Inner 1</div> </div>

为什么会这样,如何使它正常工作?

我有一些包含此内容的HTML:

外部

内部1
内部2
我在做str_replace()...
php domxpath
1个回答
1
投票
© www.soinside.com 2019 - 2024. All rights reserved.