0

我在这里搜索了一些其他线程,但没有找到完美的解决方案

如果我有以下布局

    <html>
<div>   <---- This one
      <div> text </div>
      <div> text </div>
</div> 
<p> text </p>
 <div>  <---- This one
      <div> text </div>
      <div> text </div>
</div>  
<p> text </p>
</html> 

我将如何只获得顶层的 div。(注意:里面的两个 div 只是一个例子,可能只有一个,也可能是 5 个或 6 个。

注意:与此相关的其余代码使用的是 Simple html dom,我需要它来处理它。

4

1 回答 1

2

一种可能性是使用XPath。它将如下所示:

<?php
$doc = new DOMDocument();
// one of the few cases where you may use error suppression
@$doc->loadHTML($yourHtml);

$xPath = new XPath($doc);
$nodes = $xPath->query('//html/div');

免责声明:我没有测试过这个,但它至少应该让你接近

于 2012-11-08T13:29:25.877 回答