2012-11-08 64 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'); 

免責聲明:我沒有測試過這一點,但它至少應該讓你關閉