- PHP htmlspecialchars_decode() Function
- Definition and Usage
- Syntax
- Parameter Values
- Technical Details
- More Examples
- Example
- Example
- htmlspecialchars_decode
- Parameters
- Return Values
- Changelog
- html_entity_decode
- Список параметров
- Возвращаемые значения
- PHP html_entity_decode() Function
- Definition and Usage
- Syntax
- Parameter Values
- Technical Details
- More Examples
- Example
- Example
PHP htmlspecialchars_decode() Function
Convert the predefined HTML entities «<» (less than) and «>» (greater than) to characters:
The HTML output of the code above will be (View Source):
The browser output of the code above will be:
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
Parameter Values
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: | PHP 5.4 — Added ENT_HTML401, ENT_HTML5, ENT_XML1 and ENT_XHTML. |
More Examples
Example
Convert some predefined HTML entities to characters:
$str = «Jane & 'Tarzan'»;
echo htmlspecialchars_decode($str, ENT_COMPAT); // Will only convert double quotes
echo «
«;
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
echo «
«;
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Does not convert any quotes
?>?php
The HTML output of the code above will be (View Source):
The browser output of the code above will be:
Example
Convert the predefined HTML entities to double quotes:
$str = ‘I love "PHP".’;
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
?>?php
The HTML output of the code above will be (View Source):
The browser output of the code above will be:
htmlspecialchars_decode
This function is the opposite of htmlspecialchars() . It converts special HTML entities back to characters.
The converted entities are: & , " (when ENT_NOQUOTES is not set), ' (when ENT_QUOTES is set), < and > .
Parameters
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 .
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 � (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 . |
html_entity_decode
html_entity_decode() является противоположностью функции htmlentities() . Она преобразует HTML-сущности в строке string в соответствующие им символы.
Если быть точнее, то эта функция преобразует все сущности (в том числе все числовые сущности), которые а) обязательно верны для выбранного типа документа — то есть, для XML эта функция не преобразует именованные сущности, которые могут быть определены в каком-нибудь DTD — и б) их символы находятся в кодировке, соответствующей выбранной и разрешены в выбранном типе документа. Все другие сущности остаются без изменений.
Список параметров
Битовая маска, состоящая из одного или более флагов, которые указывают, как обращаться с кавычками и какой тип документа использовать. По умолчанию маска принимает значение ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401 .
Имя константы | Описание |
---|---|
ENT_COMPAT | Преобразуются двойные кавычки, одинарные остаются без изменений. |
ENT_QUOTES | Преобразуются и двойные, и одинарные кавычки. |
ENT_NOQUOTES | Оставить как двойные, так и одинарные кавычки без изменений. |
ENT_SUBSTITUTE | Заменяет некорректные кодовые последовательности символом замены Юникода U+FFFD в случае использования UTF-8 и &#FFFD; при использовании другой кодировки, вместо возврата пустой строки. |
ENT_HTML401 | Обрабатывать код как HTML 4.01. |
ENT_XML1 | Обрабатывать код как XML 1. |
ENT_XHTML | Обрабатывать код как XHTML. |
ENT_HTML5 | Обрабатывать код как HTML 5. |
Необязательный аргумент, определяющий кодировку, используемую при конвертации символов.
Если не указан, то значение по умолчанию для encoding зависит от конфигурационной опции default_charset.
Хотя этот аргумент является технически необязательным, настоятельно рекомендуется указать правильное значение для вашего кода, опция конфигурации default_charset может быть задана неверно для входных данных.
Поддерживаются следующие кодировки:
Кодировка | Псевдонимы | Описание |
---|---|---|
ISO-8859-1 | ISO8859-1 | Западно-европейская Latin-1. |
ISO-8859-5 | ISO8859-5 | Редко используемая кириллическая кодировка (Latin/Cyrillic). |
ISO-8859-15 | ISO8859-15 | Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1 (ISO-8859-1). |
UTF-8 | 8-битная Unicode, совместимая с ASCII. | |
cp866 | ibm866, 866 | Кириллическая кодировка, применяемая в DOS. |
cp1251 | Windows-1251, win-1251, 1251 | Кириллическая кодировка, применяемая в Windows. |
cp1252 | Windows-1252, 1252 | Западно-европейская кодировка, применяемая в Windows. |
KOI8-R | koi8-ru, koi8r | Русская кодировка. |
BIG5 | 950 | Традиционный китайский, применяется в основном на Тайване. |
GB2312 | 936 | Упрощённый китайский, стандартная национальная кодировка. |
BIG5-HKSCS | Расширенная Big5, применяемая в Гонконге. | |
Shift_JIS | SJIS, SJIS-win, cp932, 932 | Японская кодировка. |
EUC-JP | EUCJP, eucJP-win | Японская кодировка. |
MacRoman | Кодировка, используемая в Mac OS. | |
» | Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (смотрите nl_langinfo() и setlocale() ) в указанном порядке. Не рекомендуется к использованию. |
Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.
Возвращаемые значения
Возвращает раскодированную строку.
PHP html_entity_decode() Function
The HTML output of the code above will be (View Source):
The browser output of the code above will be:
Definition and Usage
The html_entity_decode() function converts HTML entities to characters.
The html_entity_decode() function is the opposite of htmlentities().
Syntax
Parameter Values
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
- UTF-8 — Default. ASCII compatible multi-byte 8-bit Unicode
- ISO-8859-1 — Western European
- ISO-8859-15 — Western European (adds the Euro sign + French and Finnish letters missing in ISO-8859-1)
- cp866 — DOS-specific Cyrillic charset
- cp1251 — Windows-specific Cyrillic charset
- cp1252 — Windows specific charset for Western European
- KOI8-R — Russian
- BIG5 — Traditional Chinese, mainly used in Taiwan
- GB2312 — Simplified Chinese, national standard character set
- BIG5-HKSCS — Big5 with Hong Kong extensions
- Shift_JIS — Japanese
- EUC-JP — Japanese
- MacRoman — Character-set that was used by Mac OS
Note: Unrecognized character-sets will be ignored and replaced by ISO-8859-1 in versions prior to PHP 5.4. As of PHP 5.4, it will be ignored an replaced by UTF-8.
Technical Details
Return Value: | Returns the converted string |
---|---|
PHP Version: | 4.3.0+ |
Changelog: | PHP 5.6 — Changed the default value for the character-set parameter to the value of the default charset (in configuration). PHP 5.4 — Changed the default value for the character-set parameter to UTF-8. PHP 5.4 — Added ENT_HTML401, ENT_HTML5, ENT_XML1 and ENT_XHTML. PHP 5.0 — Added support for multi-byte encodings |
More Examples
Example
Convert some HTML entities to characters:
$str = «Albert Einstein said: 'E=MC²'»;
echo html_entity_decode($str, ENT_COMPAT); // Will only convert double quotes
echo «
«;
echo html_entity_decode($str, ENT_QUOTES); // Converts double and single quotes
echo «
«;
echo html_entity_decode($str, ENT_NOQUOTES); // Does not convert any quotes
?>?php
The HTML output of the code above will be (View Source):
Albert Einstein said: 'E=MC²'
Albert Einstein said: ‘E=MC²’
Albert Einstein said: 'E=MC²'
The browser output of the code above will be:
Example
Convert some HTML entities to characters, using the Western European character-set:
$str = «My name is Øyvind Åsane. I'm Norwegian.»;
echo html_entity_decode($str, ENT_QUOTES, «UTF-8»);
?>?php
The HTML output of the code above will be (View Source):
The browser output of the code above will be: