Webmasters, Hacking Ball Z - http://www.hackingballz.com
Lector de archivos XML/RSS con LastRSS.php
http://www.hackingballz.com/articulos/37/1/Lector-de-archivos-XMLRSS-con-LastRSSphp/Page1.html
Por Larry Hans Arroyo Vargas
Published on 07.07.08
 
En este artículo aprenderemos como “parsear” o leer un archivo XML, e introducirlo en forma de HTML en nuestros sitios web.

En la actualidad la sindicalización de archivos XML (Extensible Markup Language «lenguaje de marcas extensible»), o bien los conocidos RSS (Really Simple Syndication «Sindacalización Realmente Simple»), son de gran importancia, al convertirse en una nueva forma de generar trafico para nuestros sitios web, y también, para mantener informados a nuestros lectores acerca de nuevos contenidos en nuestro sitio web.

En PHP como en cualquier otro lenguaje de programación, existen recursos, clases, librerías, y programas que en general nos ahorran el tiempo a la hora de desarrollar importantes tareas, en base a la simplificación, que las mencionadas, pueden facilitarnos a la hora de realizar un trabajo especifico.

En este artículo trabajaremos con el proyecto de Vojtech Semecky, creador de la clase LastRSS.php.

LastRSS.php es especialmente valorada en Internet, por la facilidad y claridad con que simplifica los XMLs obtenidos desde diferentes sitios web.
El primer paso para probar este artículo, será descargar el software en su última versión, desde la siguiente dirección: http://lastrss.oslab.net/download

Una vez que hayamos descargado “algunos kB”, podemos simplemente añadir un código como el que mostramos a continuación:

lastRSS.demo1.php

<?
// include lastRSS
include "./lastRSS.php"; 

// Create lastRSS object 
$rss = new lastRSS; 
$rss->cache_dir = ''; 
$rss->cache_time = 0; 
$rss->cp = 'US-ASCII'; 
$rss->date_format = 'l'; 

// Try to load and parse RSS file of Slashdot.org
$rssurl = 'http://www.freshfolder.com/rss.php'; 

if ($rs = $rss->get($rssurl)) {

    print_r($rs);

}else {

    echo "Error: It's not possible to get $rssurl..."; 

}
?>

En ejemplo anterior, también provisto en la sección de ejemplos (http://lastrss.oslab.net/doc/examples), obtendremos los resultados de Sashdot.org, y visualizaremos la estructura del array generado, utilizando la potencia de print_r();

Ahora, para efectos prácticos, mostraremos el uso, imprimiendo los últimos mensajes publicados en el Blog, de nuestro sitio hermano TicosLand.com.

Parse.rss.ticosland.php:


<ul>
<?php
   
include "./lastRSS.php";

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

$rss->cp = 'ISO-8859-1';  // Definimos la códificación de nuestro sitio web.
$rss->items_limit = 5; // Definimos el número de titulos a desplegar.
$rss->stripHTML = True; // Eliminamos el HTML del RSS
$rss->CDATA = 'strip'; // Eliminamos la información CDATA

// Obtenemos el RSS desde TicosLand.com
$rssurl = 'http://www.ticosland.com/foro/blogs/feed.rss';

// Hacemos la tarea...
if ($rs = $rss->get($rssurl)) {
    
    while (list($key, $val) = each($rs[items])) {?> 

    <li>
    <b><a href="<?=$val['link']?>"><?=$val['title']?></a></b>
    <br />
    <?=$val['description']?> 
    </li> 
    <?
    }   

}else{
    
    echo "Error: No es posible obtener el RSS desde $rssurl...";

} 

?>
</ul>
De igual forma LastRSS.php nos ayuda a personalizar cualquier RSS, por lo que únicamente debemos modificar las acciones dentro del while, con los espacios que deseamos imprimir a la hora de la salida a pantalla.

Un hacking saludo…