Como compartir contenidos con RSS en PHP

RSS (Really Simple Sindication) es un estándar con formato XML que permite compartir contenidos de una página web. Facilitando incluso leer dichos contenidos sin disponer de un navegador web.

RSS
Para poder compartir el contenido se debe seguir el siguiente formato indicado por RSS (solo mostramos las etiquetas más comunes):

<?xml version="1.0" encoding="Codificación de nuestro texto del contenido o web"?>
<rss version="2.0">
    <channel>
        <title>Título de nuestro contenido o web</title>
        <link>Enlace a nuestro contenido o web </link>
        <description>Descripción del contenido o web</description>
        <language>Idioma del contenido o web</language>

        <item>
            <title>Titulo del item</title>
            <link>Enlace del item </link>
            <pubDate>Fecha de publicación del item</pubDate>
            <description>Descripción del item</description>
        </item>
        <item>
            ...
        </item>
        ...
    </channel>
</rss>
Como podemos apreciar, si por ejemplo queremos compartir las noticias de un blog, se debe crear un item por cada una de ellas.

No vamos a entrar en detalle de como generar los datos necesarios, pero lo normal es obtenerlos de una base de datos a través de una serie de consultas SQL. Ahora bien una vez tengamos nuestros datos generados, hay que tener en cuenta lo siguiente:

- La codificación a indicar en la cabecera de xml, debe ser la misma que la codificación usada para almacenar nuestros datos, siendo las más comunes ISO-8859-1 y UTF-8.
- Para los datos como título y descripción, o cualquier otro campo cuyo contenido suela llevar etiquetas HTML, es necesario o bien eliminarlas utilizando funciones PHP como "htmlentities" o "strip_tags", o bien utilizar la etiqueta <![CDATA[ ]]> que hace que el contenido que tenga se ignore y no se procese como XML, permitiendo mostrar el contenido HTML.
- Si nuestro contenido tiene acentos no será suficiente con utilizar las funciones de PHP mencionadas, suponiendo que no se quisiera conservar las etiquetas HTML, sino que será necesario utilizar además la etiqueta CDATA para escapar dichos carácteres.

En resumen si queremos conservar las etiquetas HTML o tenemos acentos utilizamos la etiqueta CDATA. Y si por el contrario no queremos etiquetas HTML, entonces utilizamos las funciones PHP citadas.
    echo "<title><![CDATA[". $titulo ."]]></title>";
    echo "<description><![CDATA[". $texto ."]]></description>";
Siguiendo estos consejos últimos evitaremos errores de lectura XML, es decir, de XML mal formado.

Comentarios

Sin comentarios
Ha habido un error en el envío
Comentario enviado. Será revisado por la moderación antes de ser publicado.

Deja tu comentario

Tu nombre:
Tu email:
Tu comentario: