Archive for the ‘RSS’ Category

Como extrair informação de um feeder RSS por PHP?

Monday, February 18th, 2008

Este artigo visa explicar como extrair informação de um feed RSS. Começamos por dois pedaços de código, o XML do feed e o PHP parsing do mesmo.

<?xml version=”1.0″ encoding=”UTF-8″?>
<rss version=”2.0″>
<channel>
<title>Softs</title>
<link>
http://www.softarea51.com/windows/Web_Development
</link>
<description>Try and buy latest XML</description>
<language>en-us</language>
<image>
<title>SoftArea51 - latest XML & CSS Utilities software for Windows</title>
<link>http://www.softarea51.com/</link>
<description>
Try and buy latest XML & CSS Utilities software for Windows
</description>

</image>
</item>
</channel>
</rss>

De forma a obter dados do ficheiro RSS, devemos criar um loop através dos vários nodes (item nodes) e extrair a informação que pretendemos. O script que se segue faz o parsing do RSS feed acima descrito

<?php

$doc = new DOMDocument();
$doc->load(’http://www.sitename.com/rss/the.xml’);
$arrFeeds = array();
foreach ($doc->getElementsByTagName(’item’) as $node) {
$itemRSS = array (
‘title’ => $node->getElementsByTagName(’title’)->item(0)->nodeValue,
‘desc’ => $node->getElementsByTagName(’description’)->item(0)->nodeValue,
‘link’ => $node->getElementsByTagName(’link’)->item(0)->nodeValue,
‘date’ => $node->getElementsByTagName(’pubDate’)->item(0)->nodeValue
);
array_push($arrFeeds, $itemRSS);
}

?>

Ler mais no artigo original