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>, ";ñó, 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