2012-06-29 5 views
20

questo può sembrare un problema semplice ma non riuscivo a trovarlo negli archivi.reverse htmlspecialchars

come si può invertire gli effetti di htmlspecialchars?

Ho provato qualcosa di simile:

$trans_tbl = get_html_translation_table (HTML_ENTITIES); 
$trans_tbl = array_flip ($trans_tbl); 
$html = strtr ($html, $trans_tbl); 

ma non ha funzionato. C'è un modo semplice per fare questo?

+1

Leggi il manuale, ti dirà tutte le funzioni che hanno qualcosa a che fare con quello che stai guardando nella sezione 'vedi anche' [questa è la sezione per 'htmlspecialchars()'] (http: // php. net/manual/en/function.htmlspecialchars.php # refsect1-function.htmlspecialchars-seealso) – Manuel

+4

Questa domanda sembra essere fuori tema perché può essere trovata nel [manuale] (http://php.net/manual/ it/function.htmlspecialchars-decode.php). –

risposta

51

Usa htmlspecialchars_decode()

<?php 
$str = "<p>this -&gt; &quot;</p>\n"; 

echo htmlspecialchars_decode($str); 

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

Riferimento - PHP Official Doc

+0

Di 8 secondi, il mio voto va a voi. –

+0

questo snippet proviene dalla documentazione ufficiale di php senza crediti. vergognatevi. http://php.net/manual/en/function.htmlspecialchars-decode.php – Umingo

+0

@Umingo Grazie per il suggerimento e ho fornito un link di riferimento, anche se non mi vergogno di questo perché non sono state effettivamente tolte teste per questo ;) – swapnesh

4

È necessario htmlspecialchars_decode(). Vedi PHP docu on this.

$html = htmlspecialchars_decode($html, ENT_NOQUOTES); 
0

Da quello che ho capito, è necessario htmlspecialchars_decode - Docu

3

esempio:

echo htmlspecialchars_decode(htmlspecialchars('your "strange" text with characters like !"/$%?&*')) 

sarà eco: il testo "strano" con i caratteri come "/ $% &!? *

questo è un esempio di codifica/decodifica. Funziona