Cargar un RSS remoto con PHP

  • Por
  • PHP, RSS
Tutorial para cargar con PHP un archivo RSS de un servidor remoto y almacenar los datos en un array, utilizando la librería PHP Last RSS.
En este artículo vamos a mostrar una manera muy sencilla de acceder con PHP a los datos que hay en un archivo remoto con codificación RSS y guardarlos en un array, que luego podremos utilizar para mostrar el contenido del RSS como necesitemos con comodidad.

Como sabemos, RSS es un formato para almacenar la información basado en XML. En realidad PHP dispone de diversos modos de acceso e interpretación de documentos XML, pero a decir verdad, para casos simples como el que nos ocupa, podemos encontrar opciones más simples.

Si lo que necesitamos es leer un archivo RSS que hay en un servidor remoto y mostrar el contenido en una página web, existen herramientas que nos pueden ayudar aportando un poco de sencillez a nuestra programación. Éstas se encargan de hacer el trabajo complicado por nosotros y facilitarnos los datos del RSS en una estructura más sencilla de manejar para programadores menos experimentados. En este artículo nos ayudaremos de una librería llamada Last RSS.

RSS Parser: Last RSS

La librería Last RSS es un sencillo intérprete de RSS que resultará muy adecuado para nuestros intereses. Incluye una pequeña clase (de programación orientada a objetos) que tiene las funcionalidades necesarias para conectarse a una URL, para recibir un RSS, y convertirlo en un array asociativo donde se encontrarán todos los datos contenidos en el archivo.

Podemos acceder y descargar Last RSS en: http://lastrss.oslab.net

En la página de la librería accederemos a la descarga de la última versión y una escueta documentación que se completa con diversos ejemplos de uso de los que podremos extraer más pistas para su utilización.

Ejemplo de carga de un RSS con PHP

Ahora veamos un sencillo ejemplo se uso de esta librería para realizar la lectura de un RSS y mostrar su contenido.

El modo de uso general es instanciar un objeto de la clase lastRSS, configurar las opciones que deseemos en el objeto, traer e interpretar un RSS de una URL determinada y recibir como respuesta un array asociativo.

En este primer ejemplo vamos a simplificar todo el proceso al máximo y simplemente mostraremos el contenido del array resultado de interpretar el XML del RSS con la función print_r() de PHP.

<?php
//Incluir la librería lastRSS
include "./lastRSS.php";

//Creamos el objeto lastRSS
$rss = new lastRSS;

//Cambio variables de configuración del objeto lastRSS
//Evito cache
$rss->cache_dir = '';
$rss->cache_time = 0;
//Juego de caracteres por defecto a ISO-8859-1 (si no, sería UTF-8)
$rss->cp = 'ISO-8859-1';
//Cambio el formato de fechas a español
$rss->date_format = 'd/m/Y';

//URL del RSS a recibir
$rssurl = "http://www.desarrolloweb.com/rss/general_rss.php";

if ($rs = $rss->get($rssurl)) {
echo '<pre>';
print_r($rs);
echo '</pre>';
}
else {
echo "Error: no se puede recibir $rssurl...";
}
?>

El código estaba comentado para que se pueda entender fácilmente.

Espero que esta primera aproximación a la consulta e interpretación de un RSS remoto pueda servir para resolver problemas más complejos que podáis encontrar. En futuros artículos veremos ejemplos PHP un poco más elaborados y explicaremos un poco más la librería Last RSS.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

sergio_moran_escalante

15/10/2009
Tengo un error
Hola miguel:

Gracias por la ayuda en cuanto a la carga de archivos RSS con PHP. Ejecuto la pagina y me sale el siguiente error:

Fatal error: Call to undefined function: iconv() in /home/www/site/smoran/rss/lastRSS.php on line 106

¿Este error tiene algo que ver con la configuración de mi servidor?

Desde ya te agradezco por la respuesta.

Salu2
Sergio