Interpretacion de Saltos de Linea en XML para Feed ?

Iniciado por Diabliyo, 26 Agosto 2010, 17:26 PM

0 Miembros y 1 Visitante están viendo este tema.

Diabliyo

Buenas.

Tengo un blog el cual lo gestiono con mi propio CMS, hace ya muchos meses le implemente Feed (rss.php) el cual se genera en PHP.

Actualmente no tengo problemas para mostrar las noticias, titulos y acentos dentro del Feed (rss.php), el único inconveniente es que no se como interpretar los saltos de linea de linea y caracteres HTML (tags).

Si tengo una noticia que dice en el blog:
01010101
02020202
0303030303


Cuando sincronizo el Feed del blog, la noticia sale asi:
01010101020202020303030303

Vaya, no se respetan los saltos de linea :(

Como interpreto mi codigo ?
Bueno, basicamente la noticia se cuelga mediante un formulario y para disponer de tags HTML se hace uso de BBCode, el cual, cuando alguien accede al sitio se interpreta con una funcion.
Respecto al Feed, simplemente interpreto de la misma forma, solo que al final todo los codifico a UTF-8, y elimino los tags html, ya que no veo que sean interpretados (strip_tags()).

Les dejo la funcion que uso para interpretar noticias para el Feed/RSS:
Código (php) [Seleccionar]
<?php
function desproteger_cadena_xml$cadena )
{
$out=$cadena;
$outhtml_entity_decode$outENT_QUOTES );

# eliminamos caracteres < y >, ya que el BBCode es el principal
if( strchr$out"<" ) )
$outstr_replace"<"htmlentities("<"ENT_QUOTES), $out );
if( strchr$out">" ) )
$outstr_replace">"htmlentities(">"ENT_QUOTES), $out );

# sustituimos Saltos de Linea por salto en html
if( strchr$out"\n" ) )
$outstr_replace"\n""<br>"$out );
if( strchr$out"\t" ) )
$outstr_replace"\t""&nbsp;&nbsp;&nbsp;"$out );

//$out= utf8_encode( str_replace("|","/",$out) );
$outmsg2msgtags($out); # interprete BBCode (de BBCode a HTML Tags)
$outmsg2caritas($out); # interprete de Caritas (de BBCode Caritas a <img src="carita.jpg">)
$outmsg2caritas_extra($out); # lo mismo, pero son caritas extras personalizadas del tema web

$oututf8_encode$out ); # estandar UTF-8
return $out# retornamos cadena lista para hacerle "echo"
}
?>


Saludos !