我想获取div的所有段落标签,但是脚本只获取第一个段落标签。
页面是这样的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<div id="body">
<p dir="ltr">parageraph one.</p>
<p dir="ltr">parageraph two.</p>
<p dir="ltr">parageraph three.</p>
<p dir="ltr">parageraph three.</p>
<span>span tag.</span>
</div>
</body>
</html>
我的脚本是:
$content = file_get_contents($url);
$dom_obj = new DOMDocument();
$content = mb_convert_encoding($content,'HTML-ENTITIES','UTF-8');
$dom_obj->loadHtml($content);
$xpath = new DOMXPath($dom_obj);
$response = $xpath->query('//div[@id="body"]/p');
为什么只获取第一段标签?!
我发现了问题:),脚本运行良好,我应该这样获取响应:
$response = $xpath->query('//div[@id="body"]/p');
foreach ($response as $entry) {
echo $entry->nodeValue;
}