How to reverse htmlentities() / What is the opposite of htmlentities()?
If you need to reverse or undo htmlentities() you can use the following function to do so in PHP:
<?php
html_entity_decode($var)
This will convert HTML entities to their corresponding characters.
Info about html_entity_decode()
There are a few flags that you can use (as the 2nd parameter):
Constant Name | Description |
---|---|
ENT_COMPAT |
Will convert double-quotes and leave single-quotes alone. |
ENT_QUOTES |
Will convert both double and single quotes. |
ENT_NOQUOTES |
Will leave both double and single quotes unconverted. |
ENT_HTML401 |
Handle code as HTML 4.01. |
ENT_XML1 |
Handle code as XML 1. |
ENT_XHTML |
Handle code as XHTML. |
ENT_HTML5 |
Handle code as HTML 5. |
You can set what encoding to use by passing an option to the 3rd parameter. By default it will use the default_charset
php setting.
The following character sets are supported:
Charset | Aliases | Description |
---|---|---|
ISO-8859-1 | ISO8859-1 |
Western European, Latin-1. |
ISO-8859-5 | ISO8859-5 |
Little used cyrillic charset (Latin/Cyrillic). |
ISO-8859-15 | ISO8859-15 |
Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1). |
UTF-8 |
ASCII compatible multi-byte 8-bit Unicode. |
|
cp866 | ibm866, 866 |
DOS-specific Cyrillic charset. |
cp1251 | Windows-1251, win-1251, 1251 |
Windows-specific Cyrillic charset. |
cp1252 | Windows-1252, 1252 |
Windows specific charset for Western European. |
KOI8-R | koi8-ru, koi8r |
Russian. |
BIG5 | 950 |
Traditional Chinese, mainly used in Taiwan. |
GB2312 | 936 |
Simplified Chinese, national standard character set. |
BIG5-HKSCS |
Big5 with Hong Kong extensions, Traditional Chinese. |
|
Shift_JIS | SJIS, SJIS-win, cp932, 932 |
Japanese |
EUC-JP | EUCJP, eucJP-win |
Japanese |
MacRoman |
Charset that was used by Mac OS. |
|
'' |
An empty string activates detection from script encoding (Zend multibyte), default_charset and current locale (see
|