Convert special HTML entities back to characters

- « htmlspecialchars

- implode »

- PHP Manual
- String Functions
- Convert special HTML entities back to characters

# htmlspecialchars_decode

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

htmlspecialchars_decode — Convert special HTML entities back to characters

### Description

htmlspecialchars_decode(string `$string`, int `$flags` = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401): string

This function is the opposite of htmlspecialchars(). It converts special HTML entities back to characters.

The converted entities are: `&amp;`, `&quot;` (when `ENT_NOQUOTES` is not set), `&#039;` (when `ENT_QUOTES` is set), `&lt;` and `&gt;`.

### Parameters

`string`

  The 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`.

  Available `flags` constants
  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 &#xFFFD; (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.

### Return Values

Returns the decoded string.

### Changelog

Version | Description
--- | ---
8.1.0 | `flags` changed from `ENT_COMPAT` to `ENT_QUOTES` | `ENT_SUBSTITUTE` | `ENT_HTML401`.

### Examples

Example #1 A htmlspecialchars_decode() example

    <?php
    $str = "<p>this -&gt; &quot;</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 -> &quot;</p>

### See Also

- htmlspecialchars() - Convert special characters to HTML entities
- html_entity_decode() - Convert HTML entities to their corresponding characters
- get_html_translation_table() - Returns the translation table used by htmlspecialchars and htmlentities