我在某个网站上有一个html页面,它包含下面的html,我想在其中检索div内部的内容。
<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()
中编写正确的查询
请改用以下表达式:
$nodelist = $xpath->query("//div[@id='review-body']//p");
或者,如果您知道要查找的p
是#review-body
div的直接后代,那么表达式可以是//div[@id='review-body']/p
。