PHP htmlspecialchars_decode() Function
Example
Convert the predefined HTML entities "<" (less than) and ">" (greater than) to characters:
<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>
The HTML output of the code above will be (View Source):
<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>
The browser output of the code above will be:
This is some bold text.
Definition and Usage
The htmlspecialchars_decode() function converts some predefined HTML entities to characters.
HTML entities that will be decoded are:
- & becomes & (ampersand)
- " becomes " (double quote)
- ' becomes ' (single quote)
- < becomes < (less than)
- > becomes > (greater than)
The htmlspecialchars_decode() function is the opposite of htmlspecialchars().
Syntax
htmlspecialchars_decode(string,flags)
Parameter | Description |
---|---|
string | Required. Specifies the string to decode |
flags | Optional. Specifies how to handle quotes and which document
type to use. The available quote styles are:
Additional flags for specifying the used doctype:
|
Technical Details
Return Value: | Returns the converted string |
---|---|
PHP Version: | 5.1.0+ |
Changelog: | The additional flags for specifying the used doctype; ENT_HTML401, ENT_HTML5,
ENT_XML1 and ENT_XHTML were added in PHP 5.4 |
More Examples
Example 1
Convert some predefined HTML entities to characters:
<?php
$str = "Jane & 'Tarzan'";
echo htmlspecialchars_decode($str,
ENT_COMPAT); // Will only convert double quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES);
// Converts double and single quotes
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES);
// Does not convert any quotes
?>
The HTML output of the code above will be (View Source):
<!DOCTYPE html>
<html>
<body>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'<br>
Jane & 'Tarzan'
</body>
</html>
The browser output of the code above will be:
Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'
Example 2
Convert the predefined HTML entities to double quotes:
<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES);
// Converts double and single quotes
?>
The HTML output of the code above will be (View Source):
<!DOCTYPE html>
<html>
<body>
I love "PHP".
</body>
</html>
The browser output of the code above will be:
I love "PHP".
PHP String Reference