Domanda

È possibile visualizzare i codici dei caratteri HTML memorizzati in un campo di testo in SQL a una terapia senza renderli come carattere appropriato? Non ero e mi presentavo come & (il modo in cui è memorizzato nel tavolo). O è il loro modo in cui dovrei conservare l'HTML, quindi non dovrò preoccuparmi di questo?

(Il sito utilizza PHP)

È stato utile?

Soluzione

In PHP è possibile utilizzare la funzione HTMLSpecialChars ( http://php.net/manual/en/function.htmlspecialchars.php ):

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

E renderà:

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

Se vuoi decodirli, usi semplicemente la funzione 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);
?>

Altri suggerimenti

Quello di cui stai parlando si chiama codifica HTML; Ogni lingua moderna ha una struttura nella sua biblioteca per farlo, come la funzione HTMLSpecialChars in PHP. Per ulteriori informazioni PHP, vedere Questo è così domanda.

Dovresti anche assicurarti di sanificare correttamente gli input, anche contro più round di decodifica HTML; Altrimenti sarai suscettibile a CSS (Scripting del sito incrociato) Attacchi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top