PHP htmlentities()
The htmlentities() function converts characters to HTML entities. To convert HTML entities back to characters, use the html_entity_decode() function.
Syntax
htmlentities($string, $flags, encoding, double_encode)
The htmlentities() function has one required parameter and three optional parameters:
$string: Required parameter that specifies thestringto convert.$flags: Optional parameter that specifies how to handle quotes, invalid encoding, and the used document type. Ex:ENT_QUOTES|ENT_SUBSTITUTE|ENT_HTML5.- The available quote styles are:
Constant Name Description ENT_COMPATDefault. htmlentities() function encodes only double quotes from $stringENT_QUOTEShtmlentities() function encodes double and single quotes from $stringENT_NOQUOTEShtmlentities() function does not encode any quotes from $stringInvalid encoding:
Constant Name Description ENT_IGNOREhtmlentities() function ignores invalid encoding instead of having the function return an empty string. Should be avoided, as it may have security ENT_SUBSTITUTEhtmlentities() function replaces invalid encoding for a specified character set with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; instead of returning an empty string.s ENT_DISALLOWEDhtmlentities() function replaces code points that are invalid in the specified doctype with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; Additional flags for specifying the used doctype:
Constant Name Description ENT_HTML5htmlentities() function handles code as HTML 5 ENT_XHTMLhtmlentities() function handles code as XHTML
$encoding: Optional argument defining the encoding used when converting characters. If omitted,$encodingdefaults to the value of thedefault_charsetconfiguration option. It is highly encouraged to specify the correct value for the code if thedefault_charsetconfiguration option is set incorrectly for the given input.- Character sets that are supported:
Charset Aliases Description ISO-8859-1 ISO8859-1 htmlentities() function works with Western European, Latin-1 charset. ISO-8859-15 ISO8859-15 htmlentities() function works with Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1) charset. UTF-8 htmlentities() function works with ASCII compatible multi-byte 8-bit Unicode charset. cp866 ibm866, 866 htmlentities() function works with DOS-specific Cyrillic charset. cp1251 Windows-1251, win-1251, 1251 htmlentities() function works with Windows-specific Cyrillic charset. cp1252 Windows-1252, 1252 htmlentities() function works with Windows specific charset for Western European charset. MacRoman htmlentities() function works with charset that was used by Mac OS. Note: Any other character sets are not recognized. The default encoding will be used instead and a warning will be emitted.
- Character sets that are supported:
$double_encode: Optional parameter that specifies whether to encode existing HTML entities. Defaults toTRUEand will convert all entities in the string. If set toFALSE, the function will not encode existing html entities.
Note: The
htmlentities()function returns the converted$string. However, if the$stringparameter contains invalid encoding, it will return an empty$string, unless either theENT_IGNOREorENT_SUBSTITUTEflags are set
Entities that will be encoded:
| Characters | Convert to | Result |
|---|---|---|
| & (ampersand) | becomes | & |
| “ (double quote) | becomes | " |
| ‘ (single quote) | becomes | ' |
| < (less than) | becomes | < |
| > (greater than) | becomes | > |
Example
The following example uses the htmlentities() function to convert special characters in the string "<b>Welcome!!!</b>;" to HTML entities:
<?php$str = "<b>Welcome!!!</b>";echo htmlentities($str);?>
The example will result in the following HTML output (View Source):
<b>Welcome!!!</b>
The browser output of the code above will be:
<b>Welcome!!!</b>
Codebyte Example
This example is runnable and uses the htmlentities() function with various flags:
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn PHP on Codecademy
- Looking for an introduction to the theory behind programming? Master Python while learning data structures, algorithms, and more!
- Includes 6 Courses
- With Professional Certification
- Beginner Friendly.75 hours