2015-09-18 89 views
0

我想用php解析html。 我的HTML文件是這樣的用PHP解析HTML不會刪除所有的html標籤?

<div class="main"> 
    <div class="text"> 
    Welcom to Stackoverflow 
    </div> 
</div> 

現在我想提取的只有這部分

<div class="text"> 
     Welcom to Stackoverflow 
     </div> 

爲了這個,我創建這樣

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

$xpath = new DOMXPath($dom); 
$tags = $xpath->query('//div[@class="main"]'); 
foreach ($tags as $tag) { 
    var_dump(trim($tag->nodeValue)); 
} 

代碼這個代碼僅給出了

Welcom to Stackoverflow 

但我也想要標籤。這個怎麼做??查詢

更改爲:

回答

3

如果你只是想有類「文本」在div試試這個$xpath->query('//div[@class="text"]'); 對於輸出,你需要:echo $dom->saveHTML($tag);

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

$xpath = new DOMXPath($dom); 
$tags = $xpath->query('//div[@class="text"]'); 
foreach ($tags as $tag) { 
    echo $dom->saveHTML($tag); 
} 
+0

謝謝你拯救了我的生命 –

+0

@HiteshShukla:不客氣,如果拯救生命變得那麼簡單;) – swidmann

0

的的QueryPath庫的html/xml解析使這種事情變得更容易。