(PHP 5 >= 5.1.0, PHP 7, PHP 8)
htmlspecialchars_decode — Convert special HTML entities back to characters
$string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): stringThis function is the opposite of htmlspecialchars(). It converts special HTML entities back to characters.
   The converted entities are: &,
   " (when ENT_NOQUOTES is not set),
   ' (when ENT_QUOTES is set),
   < and >.
  
stringThe string to decode.
flags
       A bitmask of one or more of the following flags, which specify how to handle quotes and
       which document type to use. The default is ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
       
| 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_SUBSTITUTE | 
           Replace invalid code unit sequences with a Unicode Replacement Character U+FFFD (UTF-8) or � (otherwise) instead of returning an empty string. | 
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. | 
Returns the decoded string.
| Version | Description | 
|---|---|
| 8.1.0 | 
       flags changed from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
       | 
     
Example #1 A htmlspecialchars_decode() example
<?php
$str = "<p>this -> "</p>\n";
echo htmlspecialchars_decode($str);
// note that here the quotes aren't converted
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
?>The above example will output:
<p>this -> "</p> <p>this -> "</p>