Foros del Web » Programando para Internet » PHP »

No me interpreta el HTML

Estas en el tema de No me interpreta el HTML en el foro de PHP en Foros del Web. Hola buenos días a todos!! Tengo un problema que no consigo resolver y seguramente será una tonteria. El tema es que guardo HTML en una ...
  #1 (permalink)  
Antiguo 04/02/2008, 06:08
 
Fecha de Ingreso: enero-2005
Mensajes: 65
Antigüedad: 19 años, 3 meses
Puntos: 0
No me interpreta el HTML

Hola buenos días a todos!! Tengo un problema que no consigo resolver y seguramente será una tonteria. El tema es que guardo HTML en una base de datos mediante addslashes(htmlentities(trim($str_aux))), hasta aquí todo perfecte.

Pero cuando lo recupero para sacarlo por pantalla mediante:
html_entity_decode(stripslashes($str_aux)) me saca el HTML, digamos, "estatico". Es decir, no me lo interpreta el navegador. Veo algo así por pantalla:
-->
<h1>DIET&Egrave;TICA</h1> <h2>T&iacute;tol Oficial.<br /> Centre homologat i concertat.</h2> <p><img width="130" height="184" src="/img/image/dietetica.jpg" alt="Dietetica - CEDESCA" /></p> <p>&nbsp;</p> <h2>Acc&eacute;s als Cicles Formatius de Grau Superior.</h2> <ul class="llista"> <li>Batxillerat</li> <li>Prova d'acc&eacute;s a grau superior superada</li> <li>T&egrave;cnic/a (...)
<--

como lo soluciono?

un saludo y gracias por vuestro tiempo!!
  #2 (permalink)  
Antiguo 04/02/2008, 12:43
 
Fecha de Ingreso: enero-2005
Mensajes: 65
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: No me interpreta el HTML

nadie puede ayudarme? algún moderador??

Muchas gracias!! ;)
  #3 (permalink)  
Antiguo 04/02/2008, 12:53
Avatar de xhiena  
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 34
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: No me interpreta el HTML

no se, yo lo he probado y me va bien :P

pon la parte del script que usas para mostrar los datos a ver si es por algo de antes (la verdad esque no se me ocurre nada... )
  #4 (permalink)  
Antiguo 04/02/2008, 13:07
 
Fecha de Ingreso: enero-2005
Mensajes: 65
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: No me interpreta el HTML

Cita:
Iniciado por xhiena Ver Mensaje
no se, yo lo he probado y me va bien :P

pon la parte del script que usas para mostrar los datos a ver si es por algo de antes (la verdad esque no se me ocurre nada... )
Muxisimas gracias por contestarme Xhiena!!

Pues el código que uso para guardarlo en la base de datos (código obtenido del FCKeditor) es:
Código PHP:
$string=trim(htmlentities($string));
if(
ini_get("magic_quotes_gpc")!=1$string=addslashes($string); 
Si accedo a la base de datos veo que me ha guardado con esta forma:
&amp;lt;h1&amp;gt;DIET&amp;amp;Egrave;TICA&amp; lt;/h1&amp;gt;
&amp;lt;h2&amp;gt;T&amp;amp;iacute;tol Oficial.&amp;lt;br /&amp;gt;
Centre homologat i (...)

Para recuperarlo hago:
Código PHP:
html_entity_decode(stripslashes($string)) 
Puede ser xq el campo de la base de datos sea un "text" y no un "blob" u otro formato??

Muchas gracias desde Barcelona!! ;)
  #5 (permalink)  
Antiguo 04/02/2008, 13:14
Avatar de xhiena  
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 34
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: No me interpreta el HTML

ok ok, haz otro html_entity_decode y te irá.


html_entity_decode(html_entity_decode(stripslashes ($string)))

tienes que decodificarlo 2 veces, 1 para que el &amp; se convierta en & y otra para que los elemementos &algo; se te conviertan a lo que toque

un saludo
  #6 (permalink)  
Antiguo 04/02/2008, 13:24
 
Fecha de Ingreso: enero-2005
Mensajes: 65
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: No me interpreta el HTML

Cita:
Iniciado por xhiena Ver Mensaje
ok ok, haz otro html_entity_decode y te irá.


html_entity_decode(html_entity_decode(stripslashes ($string)))

tienes que decodificarlo 2 veces, 1 para que el &amp; se convierta en & y otra para que los elemementos &algo; se te conviertan a lo que toque

un saludo
jeje, justo cuando te he escrito el post y lo he releido me he dado cuenta!! En efecto es lo que he hecho para que funcione!!

Pero mi duda es el porque. Osea el addslashes me añade / delante de ciertos caracteres conflitivos. Y el htmlentities me transforma los símbolos en su codificacion html correspondiente. Debo hacer dos veces el htmlentities ya que sinó no entiendo el porque tengo que hacerlo dos veces para descifrarlo al sacarlo por pantalla.

Lo averiguo y os comento!! muchas gracias!!
  #7 (permalink)  
Antiguo 04/02/2008, 13:27
Avatar de xhiena  
Fecha de Ingreso: enero-2008
Ubicación: Valencia
Mensajes: 34
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: No me interpreta el HTML

ya, es raro, a lo mejor antes hace algún que otro htmlentities o un htmlspecialchars
  #8 (permalink)  
Antiguo 04/02/2008, 13:42
 
Fecha de Ingreso: enero-2005
Mensajes: 65
Antigüedad: 19 años, 3 meses
Puntos: 0
Re: No me interpreta el HTML

Cita:
Iniciado por Pitu. Ver Mensaje
jeje, justo cuando te he escrito el post y lo he releido me he dado cuenta!! En efecto es lo que he hecho para que funcione!!

Pero mi duda es el porque. Osea el addslashes me añade / delante de ciertos caracteres conflitivos. Y el htmlentities me transforma los símbolos en su codificacion html correspondiente. Debo hacer dos veces el htmlentities ya que sinó no entiendo el porque tengo que hacerlo dos veces para descifrarlo al sacarlo por pantalla.

Lo averiguo y os comento!! muchas gracias!!
ya lo tengo!! en mis funciones donde hago el update y el insert hago lo mismo antes de insertar!! por eso me lo hacia dos veces y no me habia dado cuenta!!

Muchas gracias Xhiena!!
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 01:18.