Latest web development tutorials
 

PHP htmlspecialchars_decode() Function

< PHP String Reference

Example

Convert the predefined HTML entities "&lt;" (less than) and "&gt;" (greater than) to characters:

<?php
$str = "This is some &lt;b&gt;bold&lt;/b&gt; 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:

  • &amp; becomes & (ampersand)
  • &quot; becomes " (double quote)
  • &#039; becomes ' (single quote)
  • &lt; becomes < (less than)
  • &gt; 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:

  • ENT_COMPAT - Default. Decodes only double quotes
  • ENT_QUOTES - Decodes double and single quotes
  • ENT_NOQUOTES - Does not decode any quotes

Additional flags for specifying the used doctype:

  • ENT_HTML401 - Default. Handle code as HTML 4.01
  • ENT_HTML5 - Handle code as HTML 5
  • ENT_XML1 - Handle code as XML 1
  • ENT_XHTML - Handle code as XHTML

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 &amp; &#039;Tarzan&#039;";
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 & &#039;Tarzan&#039;<br>
Jane & 'Tarzan'<br>
Jane & &#039;Tarzan&#039;
</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 &quot;PHP&quot;.';
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