使用dom解析器</p>获取<p>标签

时间:2012-01-21 09:57:42

标签: php dom curl

我正在使用curl将网站内容提取到变量中。现在,使用“url”或获取的内容,我想将所有<p>标记提取到变量中。 任何人都可以指导我吗?

几个小时后我才刚刚能够在php中创建一个DOM文档!

这是我写的代码:

$domDoc = new DOMDocument();
$domDoc->loadHTML($content);

print_r($domDoc);

$paragraphs = $domDoc->getElementsByTagName("p");
foreach ($paragraphs as $paragraph)
    $paragraph->item(0)->nodevalue;

其中$content包含使用

获取的网站内容
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url[url]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$xml_contents = curl_exec ($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close ($ch);
$website_content = $xml_contents;

有人可以指导我吗?

1 个答案:

答案 0 :(得分:2)

您无需在item()循环中使用foreach。只需直接从nodeValue变量访问$paragraph即可获取p代码的内容。

只有在使用正常的item()循环时,才会使用for

for ($i = 0; $i < $paragraphs->length; $i++) 
{
    echo $paragraphs->item($i)->nodeValue;
}