2011-01-02 75 views
5

Quiero guardar el texto con formato html en la base de datos, pero cuando lo hago no guardo los símbolos html como < /> 'y otros Así leo el artículo de la base de datos para la edición:guardar texto con formato html en la base de datos

<p class="Title">Англійський варіант:</p> 
    <textarea name="EN" cols="90" rows="20" value="<?php echo htmlentities($articleArr['EN'], ENT_QUOTES, "UTF-8"); ?>" ></textarea> 

después de esto genera como código hTML:

<p class="Title">Англійський варіант:</p> 
    <textarea name="EN" cols="90" rows="20" value="&lt;p class=&#039;Title&#039;&gt; привыт &lt;/p&gt;" ></textarea> 

por lo tanto, espero que este texto aparecerá en mi campo de texto, en el código hTML de esta página es, pero en el área de texto es no.

En la base de datos lo guardo como:

<p class="Title"> Hello </p> 

Entonces, ¿cómo puedo hacer el seguimiento:

  1. Leer de base de datos html-FormattedText.
  2. Mostrarlo en el elemento textarea.
  3. Edítela y guárdela de nuevo en la base de datos.

Ayúdeme por favor, ¿cómo puedo guardar tales textos correctamente, Gracias!

+0

¿Estás seguro de que no guarda símbolos html como? –

+0

sí, no guarda tales símbolos – yozhik

+0

sí. simplemente lo hace. –

Respuesta

30

Trate de usar htmlspecialchars() en la cuerda para poner en la base de datos, y luego, cuando se tira de nuevo fuera, use htmlspecialchars_decode(). Podría hacer la diferencia.

+1

Ciertos caracteres tienen un significado especial en HTML, y deben representarse por entidades HTML si desean preservar sus significados. Esta función devuelve una cadena con algunas de estas conversiones realizadas; las traducciones realizadas son las más útiles para la programación web diaria. Si necesita traducir todas las entidades de caracteres HTML, use htmlentities() en su lugar. –

Cuestiones relacionadas