Извлечение тегов <p>с помощью dom parser - PullRequest
0 голосов
/ 21 января 2012

Я использую curl для извлечения контента сайта в переменную.Теперь, используя либо URL, либо извлеченное содержимое, я хочу извлечь все теги <p> в переменную.Кто-нибудь может мне помочь?

После нескольких часов я только что смог создать DOM-документ на php!

Это код, который я написал:

$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 Ответ

2 голосов
/ 21 января 2012

Вам не нужно использовать item() в цикле foreach. Просто получите доступ к nodeValue непосредственно из переменной $paragraph, чтобы получить содержимое тега p.

Вы захотите использовать item(), только если вы используете обычный цикл for.

for ($i = 0; $i < $paragraphs->length; $i++) 
{
    echo $paragraphs->item($i)->nodeValue;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...