Frage

Ist es möglich, HTML -Zeichencodes anzuzeigen, die in einem Textfeld in SQL auf eine Textbereich gespeichert sind, ohne sie als ihren entsprechenden Charakter zu machen? Ich war nicht und erschien als & (so wie es im Tisch gespeichert ist). Oder ist sie eine Möglichkeit, die HTML zu speichern, damit ich mich darüber keine Sorgen machen muss?

(Site verwendet PHP)

War es hilfreich?

Lösung

In PHP können Sie die Funktion htmlspecialChars verwenden ( http://php.net/manual/en/function.htmlspecialchars.php ):

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

Und es wird rendern:

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

Wenn Sie sie zurückziehen möchten, verwenden Sie nur die Funktion 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);
?>

Andere Tipps

Was Sie sprechen, heißt HTML -Codierung. Jede moderne Sprache hat dafür eine Einrichtung in ihrer Bibliothek, wie die HTMLSpecialChars -Funktion in PHP. Weitere PHP -Informationen finden Sie unter Diese Frage.

Sie sollten auch sicherstellen Mehrere Runden von HTML -Dekodierung; Andernfalls werden Sie anfällig sein CSS (Cross Site Scripting) Angriffe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top