Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Sindicando con RSS y PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Sindicando con RSS y PHP

Vamos a ver cómo podemos crear un archivo XML en formato RSS para sindicar tus noticias y artículos en tu web en PHP, para hacer esto de forma automática, tus artículos o notícias deverán estar en una base de datos (nosotros usaremos mysql).

Los archivos RSS sirven para que otras páginas y buscadores tengan acceso a las noticias de nuestra web para poderse vincular a ellas, consiguiendo ofrecer mas informacion y a su vez aumentando nuestras visitas.

Lo primero que debemos hacer para crear nuestra página de sindicacion en RSS es indicar al navegador que estamos mandando un documento XML, esto lo haremos grácias a la funcion headers de la siguiente manera:

<?
Header ( "Content-type: text/xml" );
?>

Luego, debemos mandar esta línea al navegador, pero esto nos generaría un error porque el intérprete PHP intentaría ejecutar lo interno a <? y ?>:

<?xml version = "1.0" encoding = "ISO-8859-1" ?>

Para evitar este error, hacemos lo siguiente:

rss.php
<?
echo '<' ; ?> ?xml version="1.0" encoding="ISO-8859-1"?>

Sin mas, pasamos a generar el volcado XML de los datos de la base de datos:
$db_direccion = 'localhost' ;
$db_user = 'root' ;
$db_pass = '' ;
$db_name = 'db_1' ;
$db_table = 'noticias' ;
$db_campo_fecha = 'fecha' ;
$db_campo_titulo = 'titulo' ;
$db_campo_texto = 'texto' ;
$db_campo_url = 'id' ;
$pg_titulo = 'Programacion Web' ;
$pg_link = 'http://www.programacionweb.net' ;
$pg_descripcion = 'Ayuda al webmaster con artículos especializados en programacion web' ;
$pg_idioma = 'es' ;

Header ( "Content-type: text/xml" );
echo '<' ; ?> ?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"
"http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">

<channel>
<title> <?=$pg_titulo?> </title>
<link> <?=$pg_link?> </link>
<description> <?=$pg_descripcion?> </description>
<language> <?=$pg_idioma?> </language>
<?
$db = mysql_connect ( $db_direccion , $db_user , $db_pass );
if(!isset( $perPage )) $perPage = 10 ;
$sql = "SELECT * FROM $db_table WHERE pendiente = 1 ORDER BY $db_campo_fecha DESC LIMIT 0,$perPage" ;
$qry = mysql_db_query ( $db_name , $sql , $db );
while ( $row = mysql_fetch_array ( $qry )){
echo "n" ;
echo " <item>n" ;
echo " <title>" . $row [ $db_campo_titulo ]. "</title>n" ;
$desc = preg_replace ( "/[(.*?)]/i" , "" , $row [ $db_campo_texto ]);
$desc = substr ( $desc , 0 , 230 );
$desc = str_replace ( '<' , '&lt;' , $desc );
$desc = str_replace ( "n" , '' , $desc );
$desc = str_replace ( "r" , '' , $desc );
echo " <description>" . $desc . "</description>n" ;
echo " <link>" . $row [ $db_campo_url ]. "</link>n" ;
echo " </item>n" ;
}
?>

</channel>
</rss>

Verás que el código es muy sencillo, se limita a imprimir los datos leidos de la base de datos según la configuración indicada en formato RSS.

Por defecto, se mostrarán 10 artículos o notícias, si queremos mostrar más accederémos vía rss.php?perPage=15

Eloi de San Martín
www.programacionweb.net



Usuarios que han visto este tema también han visto...

- Trabajando con PHP y ficheros
- Más ejemplos de reglas .htaccess
- Crear un foro en PHP y Mysql
- Comprobar si una tabla de una base de datos Existe
- Creando un foro en PHP paso a paso


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 26-05-2012 a las 09:45:26