繁体   English   中英

使用DOMXpath,如何遍历DOM并在第一段文本处停止?

[英]Using DOMXpath how do I loop through the DOM and stop at the first piece of text?

我将使用DOMXpath遍历DOM的节点,并在到达第一段文本时停止。

因此,使用此方法,我可以捕获并删除前很多换行符,但其余部分将在hello world之后:

$html = '<br><br><br>Hello World<br><br><br>'

我不确定$ xpath查询是用来查找纯文本的,但是我想像一下代码将是这样的:

$doc = new DOMDocument();
$doc->loadHTML($html);
showDOMNode($doc);
$i = 1;
$dom_xpath = new DOMXpath($doc);
foreach($nodes as $node) {
  do {
    $node->parentNode->removeChild($node); 
   } while ($i > 0);
  if($node == $xpath->query("/:TEXT")){
      $i = 0;
  }
}  

只是一小段代码,但想象一下我想要的是这样的东西,请有人为我填补空白。

$doc->loadHTML($html);
    $xpath = new DOMXPath($doc);
    foreach($xpath->query('//br[not(preceding::text())]') as $node) {
        $node->parentNode->removeChild($node);
    }
    return $doc->saveHTML();

@cHao这个人!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM