2012-11-08 27 views
0

我已经通过这里了一些其他线程搜查,但没有找到完美的解决方案PHP简单的HTML DOM - 顶级元素只有

,如果我有以下布局

<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.

注意:这个绑定的代码的其余部分是使用简单的html dom,我需要这个与工作

+0

使用CSS选择器/ jQuery的? – woz

+1

显示迄今已尝试的代码示例。 – Ryan

+0

出于兴趣,你为什么要用PHP做这个服务器端,当用jQuery/CSS客户端做它时会容易得多? –

回答

2

一个possibiltity是使用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'); 

免责声明:我没有测试过这一点,但它至少应该让你关闭