Pregunta

¿Es posible mostrar los códigos de caracteres HTML almacenados en un campo de texto en SQL a un Textea sin representarlos como su carácter apropiado? No estaba y para aparecer como y (la forma en que se almacena en la mesa). ¿O es su forma de almacenar el HTML para que no necesitaré preocuparme por esto?

(El sitio está utilizando PHP)

¿Fue útil?

Solución

En PHP puede usar la función htmlspecialchars ( http://php.net/manual/en/function.htmlspecialchars.php ):

<?php
$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new;
?>

y hará:

&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;

Si desea decodificarlos, solo usa la función htmlspecialchars_decode

<?php
$str = '<p>this -&gt; &quot;</p>';

echo htmlspecialchars_decode($str);

// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>

Otros consejos

De lo que estás hablando se llama codificación HTML; Cada lenguaje moderno tiene una instalación en su biblioteca para hacerlo, como la función HTMLSpecialChars en PHP. Para obtener más información de PHP, consulte esta pregunta.

También debe asegurarse de desinfectar adecuadamente las entradas, incluso contra múltiples rondas de decodificación HTML; De lo contrario, será susceptible a CSS (Scripting del sitio cruzado) Ataques.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top