voragine.net

Autonomía digital y tecnológica.


Cómo transformar el formato de un flujo RSS, mediante DOM, para poder usarlo libremente con PHP

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 />";
}
Contexto: Desarrollo web, ,

No hay comentarios en esta entrada.

Dejar un comentario

*
*

No hay trackbacks