2015-02-06 26 views
0

我在某個網站上有一個html頁面,它包含下面的html,我想在其中檢索div內的內容。從DOMXPath中的某個網站問題獲取Html

<div class="st-text" id="review-body"> 

<p>....</p> 

<p>............</p> 

<p>..........</p> 

</div> 

我曾嘗試下面的代碼

$html = new DOMDocument(); 
@$html->loadHtmlFile('www.somesite.com'); 
$xpath = new DOMXPath($html); 
$nodelist = $xpath->query("//div[@id='review-body']/p/"); 
echo "<pre>";print_r($nodelist);exit; 

我提示以下錯誤:

DOMXPath::query(): Invalid expression 

誰能請幫助寫在$xpath->query()

回答

1

正確的查詢試試這個表達式:

$nodelist = $xpath->query("//div[@id='review-body']//p"); 

或者,如果你知道p你正在尋找的是在#review-body DIV的嫡系,那麼表達式可以//div[@id='review-body']/p

+0

嗨,感謝您收到DOMNodeList對象 ( [length] => 9 )作爲您提供的代碼的輸出。我想要div的全部內容我應該如何進行 – Veerendra 2015-02-06 07:05:43

+0

如果你想要div的內容,那麼使用'/ div [@ id ='review-body']/text()'。 – dfsq 2015-02-06 07:23:37

+0

對不起,但在你的評論中嘗試了語法並得到了和以前一樣的輸出 – Veerendra 2015-02-06 07:28:15