PHP : html_entity_decode() function


The html_entity_decode() function is used to convert all HTML entities to their applicable characters.


(PHP 4 and above)


html_entity_decode(input_string, quote_style, charset )
Name Description Required /
input_string The string to be converted. Required String
quote_style Encoding single and double quote.
ENT_COMPAT : Convert double quotes and leave single quotes unchanged.
ENT_COMPAT is the default setting
ENT_QUOTES : Converts both single and double quotes.
ENT_NOQUOTES: Converts neither single nor double quotes.
Optional Integer
charset Refers the character set to be used.
List of character set.
ISO-8859-1 : Western European, Latin-1 [default character set].
ISO-8859-15 : Western European, Latin-9. UTF-8 : ASCII compatible multi-byte 8-bit Unicode.
cp866 : DOS-specific Cyrillic charset.
cp1251 : Windows-specific Cyrillic charset.
cp1252 : Windows-specific charset for Western European.
KOI8-R : Russian.
BIG5 : Traditional Chinese.
GB2312 : Simplified Chinese.
BIG5-HKSCS : Big5 with Hong Kong extensions.
Shift_JIS : Japanese.
EUC-JP : Japanese.
Optional String

Return values:

The decoded string.

Value Type: String.

Pictorial Presentation

php html_entity_decode function


$string = "You are learning <b>PHP</b> at <a href='index.php'>w3resource.com</a>";
$p1 = htmlentities($string);
$p2 = html_entity_decode($p1);
echo $p1.'<br/>'; 
echo $p2; 


You are learning <b>PHP</b> at <a   href='index.php'>w3resource.com</a>
You are learning PHP at w3resource.com

View the example in the browser

See also

PHP Function Reference

Previous: hebrev
Next: htmlentities

PHP: Tips of the Day

$_GET: An associative array of variables passed to the current script via the URL parameters

$_GET is an array that contains all the URL parameters; these are the whatever is after the ? in the URL.

Using http://www.example.com/index.php?myVar=myVal as an example. This information from this URL can be obtained by accessing in this format $_GET["myVar"] and the result of this will be myVal.

Using some code for those that don't like reading.


// URL = http://www.example.com/index.php?myVar=myVal
echo $_GET["myVar"] == "myVal" ? "true" : "false"; // returns "true"



The above example makes use of the ternary operator.

This shows how you can access the value from the URL using the $_GET superglobal.

Now another example! gasp

// URL = http://www.example.com/index.php?myVar=myVal&myVar2=myVal2
echo $_GET["myVar"]; // returns "myVal"
echo $_GET["myVar2"]; // returns "myVal2"


It is possible to send multiple variables through the URL by separating them with an ampersand (&) character.

Security risk

It is very important not to send any sensitive information via the URL as it will stay in history of the computer and will be visible to anyone that can access that browser.