Foros del Web » Programando para Internet » PHP »

Solucionar el error del RSS

Estas en el tema de Solucionar el error del RSS en el foro de PHP en Foros del Web. Hola estoy creando un rss en php, y tras varias comprobaciones he adivinado cual puede ser el error, el error puede ser debido a que ...
  #1 (permalink)  
Antiguo 02/03/2010, 03:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 17 años, 2 meses
Puntos: 0
Solucionar el error del RSS

Hola estoy creando un rss en php, y tras varias comprobaciones he adivinado cual puede ser el error, el error puede ser debido a que en el campo noticia, posee codigos html (<br >,<i>,<b>, &quot;;&ntilde;&oacute;, etc), y lo que quisiera saber es como puedo solucionar estos errores, cuando lo pruebo en internet explorer (ver 7), me da el siguiente error:

Internet Explorer no puede mostrar esta fuente.

Esta fuente contiene errores de código.
Regresar a la página anterior.

Más información

Os pongo el codigo:

rss1.php

<?php
//Indicamos a php que lo que estamos por crear es un archivo XML
header('Content-type: text/xml; charset="iso-8859-1"', true);
//y como todo archivo XML debemos definirlo de esta manera:
echo '<?xml version="1.0" encoding="iso-8859-1"?>';
//Aquí la conexión o archivo de conexión a nuestra base de datos
$link=mysql_connect("localhost","root","1234");
mysql_select_db("bd",$link);
//Hacemos la consulta y la ordenamos por id para mostrar siempre el último
$resultado=mysql_query("select * from noticias order by idnoticia Desc",$link);
$row = mysql_fetch_array($resultado);
//"Cortaremos" el artículo en 300 caracteres para hacer nuestra descripción
$descripcion=substr($row['noticia'],0,300)."…";
// Generamos nuestro documento
echo '<rss version="2.0">';
echo '<channel>
<title>MI WEB</title>
<link>http://</link>
<language>es-ES</language>
<description>Canal RSS de Mi WEb</description>
<generator>YO</generator>';
//Creamos un while para poder generar todos los extractos de noticias de nuestro sitio
while($row = mysql_fetch_array($resultado)){
echo '<item>
<title>'.$row["titulo"].'</title>
<link>noticias.php?id='.$row["idnoticia"].'</link>
<pubDate>'.$row["fecha"] . '</pubDate>
<description><![CDATA['.$descripcion.']]></description> <content:encoded><![CDATA['.$row["noticia"].']]></content:encoded> </item>';
}//cerramos el while
echo'
//Cerramos nuestras etiquetas channel y rss
</channel>
</rss>';
?>

Muchar gracias
  #2 (permalink)  
Antiguo 02/03/2010, 07:14
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 3 meses
Puntos: 29
Respuesta: Solucionar el error del RSS

Pues haz esto después del while:

Código PHP:
Ver original
  1. $descripcion=str_replace("<", "&lt;", $descripcion);
  2. $descripcion=str_replace(">","&gt;",$descripcion);
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 02/03/2010, 07:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Solucionar el error del RSS

Yo lo soluciono con html_entity_decode(campo)

Etiquetas: rss
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:41.