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/downloadUna 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…