Home » Php » php – reverse htmlspecialchars

php – reverse htmlspecialchars

Posted by: admin April 23, 2020 Leave a comment


this may seem like a simple problem but I couldn’t find it in the archives.

how does one reverse the effects of htmlspecialchars?

I tried something like this:

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

but it didn’t work. is there a simple way to do this?

How to&Answers:

Use htmlspecialchars_decode()

$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);

Reference – PHP Official Doc


You need htmlspecialchars_decode(). See PHP docu on this.

$html = htmlspecialchars_decode( $html, ENT_NOQUOTES );


example :

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

it will echo :
your “strange” text with characters like !”/$%?&*

this is an example of encode/decode. it works.


From what I understood, you need htmlspecialchars_decodeDocu