Question

Est-il possible d'afficher des codes de caractères HTML stockés dans un champ de texte dans SQL à une TextArea sans les rendre comme leur caractère approprié? Je n'étais pas et pour me présenter comme et (la façon dont il est stocké dans le tableau). Ou est-ce que je devrais stocker le HTML, donc je n'aurai pas à m'inquiéter à ce sujet?

(Site utilise PHP)

Était-ce utile?

La solution

Dans PHP, vous pouvez utiliser la fonction htmlSpecialChars ( http://php.net/manual/en/fonction.htmlspecialchars.php ):

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

Et cela rendra:

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

Si vous voulez les décoder, vous utilisez simplement la fonction 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);
?>

Autres conseils

Ce dont vous parlez s'appelle le codage HTML; Chaque langue moderne a une installation dans sa bibliothèque pour ce faire, comme la fonction HTMLSpecialCars en PHP. Pour plus d'informations PHP, voir cette question tellement.

Vous devez également vous assurer que vous désinfectez correctement les intrants, même contre plusieurs tours du décodage HTML; Sinon, vous serez susceptible de CSS (Script du site croisé) Attaques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top