This function is identical to htmlspecialchars() in all ways, except with htmlentities(), all characters which have HTML character entity equivalents are translated into these entities.
Like htmlspecialchars(), the optional second
quote_style
parameter lets you define what will
be done with 'single' and "double" quotes. It takes on one of three
constants with the default being ENT_COMPAT:
Table 1. Available quote_style
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. |
Like htmlspecialchars(), it takes an optional
third argument charset
which defines character
set used in conversion.
Presently, the ISO-8859-1 character set is used as the default.
Following character sets are supported in PHP 4.3.0 and later.
Table 2. Supported charsets
Charset | Aliases | Description |
---|---|---|
ISO-8859-1 | ISO8859-1 | Western European, Latin-1 |
ISO-8859-15 | ISO8859-15 | Western European, Latin-9. Adds the Euro sign, French and Finnish letters missing in Latin-1(ISO-8859-1). |
UTF-8 | ASCII compatible multi-byte 8-bit Unicode. | |
cp866 | ibm866, 866 | DOS-specific Cyrillic charset. This charset is supported in 4.3.2. |
cp1251 | Windows-1251, win-1251, 1251 | Windows-specific Cyrillic charset. This charset is supported in 4.3.2. |
cp1252 | Windows-1252, 1252 | Windows specific charset for Western European. |
KOI8-R | koi8-ru, koi8r | Russian. This charset is supported in 4.3.2. |
BIG5 | 950 | Traditional Chinese, mainly used in Taiwan. |
GB2312 | 936 | Simplified Chinese, national standard character set. |
BIG5-HKSCS | Big5 with Hong Kong extensions, Traditional Chinese. | |
Shift_JIS | SJIS, 932 | Japanese |
EUC-JP | EUCJP | Japanese |
Note: Any other character sets are not recognized and ISO-8859-1 will be used instead.
When double_encode
is turned off PHP will not
encode existing html entities. The default is to convert everything.
The double_quote
parameter was added in PHP 5.2.3,
charset
in 4.1.0 and
quote
in PHP 4.0.3.
If you're wanting to decode instead (the reverse) you can use html_entity_decode().
See also html_entity_decode(), get_html_translation_table(), htmlspecialchars(), nl2br(), and urlencode().