RSS o Really Simple Syndication es una simplificación de XML. Mediante DOM (Document Object Model) podemos transformar cualquier flujo XML en una matriz multidimensional con la que podremos operar fácilmente en PHP.
Tomemos como ejemplo un XML de los últimos tweets de un usuario de Twitter, @skotperez en este caso. Podemos extraer esta información gracias a la API de Twitter.
https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=skotperez
Una vez que tenemos el feed lo podemos manipular con DOM y almacenar el resultado en una variable, $arrFeeds
en este caso:
$feed_url = "https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=skotperez"; $doc = new DOMDocument(); $doc->load($feed_url); $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); }
Luego podemos hacer correr un loop a lo largo de los elementos de la matriz para obtener la información que queramos:
foreach ( $arrFeeds as $tw ) { echo $tw['date']; echo "<br />"; echo $tw['desc']; echo "<br />"; }