elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Interpretacion de Saltos de Linea en XML para Feed ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Interpretacion de Saltos de Linea en XML para Feed ?  (Leído 2,418 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Interpretacion de Saltos de Linea en XML para Feed ?
« en: 26 Agosto 2010, 17:26 pm »

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:
Código:
01010101
02020202
0303030303

Cuando sincronizo el Feed del blog, la noticia sale asi:
Código:
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
  1. <?php
  2. function desproteger_cadena_xml( $cadena )
  3. {
  4. $out=$cadena;
  5. $out= html_entity_decode( $out, ENT_QUOTES );
  6.  
  7. # eliminamos caracteres < y >, ya que el BBCode es el principal
  8. if( strchr( $out, "<" ) )
  9. $out= str_replace( "<", htmlentities("<", ENT_QUOTES), $out );
  10. if( strchr( $out, ">" ) )
  11. $out= str_replace( ">", htmlentities(">", ENT_QUOTES), $out );
  12.  
  13. # sustituimos Saltos de Linea por salto en html
  14. if( strchr( $out, "\n" ) )
  15. $out= str_replace( "\n", "<br>", $out );
  16. if( strchr( $out, "\t" ) )
  17. $out= str_replace( "\t", "&nbsp;&nbsp;&nbsp;", $out );
  18.  
  19. //$out= utf8_encode( str_replace("|","/",$out) );
  20. $out= msg2msgtags($out); # interprete BBCode (de BBCode a HTML Tags)
  21. $out= msg2caritas($out); # interprete de Caritas (de BBCode Caritas a <img src="carita.jpg">)
  22. $out= msg2caritas_extra($out); # lo mismo, pero son caritas extras personalizadas del tema web
  23.  
  24. $out= utf8_encode( $out ); # estandar UTF-8
  25. return $out; # retornamos cadena lista para hacerle "echo"
  26. }
  27. ?>

Saludos !


« Última modificación: 26 Agosto 2010, 17:30 pm por Diabliyo » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Source] Lector RSS Feed
Programación Visual Basic
enterariel 0 1,347 Último mensaje 9 Marzo 2011, 21:09 pm
por enterariel
RSS Feed para las noticias con PHP
PHP
erikcatala 1 1,941 Último mensaje 3 Febrero 2014, 12:47 pm
por erikcatala
ayuda para limpiar saltos de linea /n en un archivo .txt desde python
Scripting
lucifer_777 1 1,605 Último mensaje 8 Marzo 2018, 01:25 am
por MCKSys Argentina
Instaplan: una web para organizar todo tu feed de Instagram
Noticias
wolfbcn 0 779 Último mensaje 7 Julio 2018, 14:29 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines