Oc-windows.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Php html decode

Php html decode

(PHP 4 >= 4.3.0, PHP 5)

html_entity_decode — Преобразует HTML сущности в соответствующие символы

Описание string html_entity_decode ( string string [, int quote_style [, string charset]] )

Необязательный аргумент quote_style позволяет указать способ обработки ‘одиночных’ и «двойных» кавычек. Значением этого аргумента может быть одна из трех следующих констант (по умолчанию ENT_COMPAT ):

Таблица 1. Константы quote_style

Имя константыОписание
ENT_COMPATПреобразуются двойные кавычки, одиночные остаются без изменений.
ENT_QUOTESПреобразуются и двойные, и одиночные кавычки.
ENT_NOQUOTESИ двойные, и одиночные кавычки остаются без изменений.

Необязательный третий аргумент charset определяет кодировку, используемую при преобразовании. По умолчанию используется кодировка ISO-8859-1.

Начиная с PHP 4.3.0 поддерживаются следующие кодировки.

Таблица 2. Поддерживаемые кодировки

КодировкаПсевдонимыОписание
ISO-8859-1ISO8859-1Западно-европейская Latin-1
ISO-8859-15ISO8859-15Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-88-битная Unicode, совместимая с ASCII.
cp866ibm866, 866Кириллическая кодировка, применяемая в DOS. Поддерживается в версии 4.3.2.
cp1251Windows-1251, win-1251, 1251Кириллическая кодировка, применяемая в Windows. Поддерживается в версии 4.3.2.
cp1252Windows-1252, 1252Западно-европейская кодировка, применяемая в Windows.
KOI8-Rkoi8-ru, koi8rРусская кодировка. Поддерживается в версии 4.3.2.
BIG5950Традиционный китайский, применяется в основном на Тайване.
GB2312936Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCSРасширенная Big5, применяемая в Гонг-Конге.
Shift_JISSJIS, 932Японская кодировка.
EUC-JPEUCJPЯпонская кодировка.

Замечание: Не перечисленные выше кодировки не поддерживаются, и вместо них применяется ISO-8859-1.

Пример 1. Декодирование HTML сущностей

= «I’ll «walk» the dog now» ;

$a = htmlentities ( $orig );

$b = html_entity_decode ( $a );

echo $a ; // I’ll «walk» the dog now

echo $b ; // I’ll «walk» the dog now

// в версиях до PHP 4.3.0 можно сделать так:
function unhtmlentities ( $string )
<
$trans_tbl = get_html_translation_table ( HTML_ENTITIES );
$trans_tbl = array_flip ( $trans_tbl );
return strtr ( $string , $trans_tbl );
>

$c = unhtmlentities ( $a );

echo $c ; // I’ll «walk» the dog now

Замечание: Может показаться странным, что результатом вызова trim(html_entity_decode(‘ ‘)); не является пустая строка Причина том, что ‘ ‘ преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim() ),а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.

html_entity_decode — Преобразует все HTML-сущности в соответствующие символы

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

html_entity_decode — Преобразует все HTML-сущности в соответствующие символы

Описание

html_entity_decode() является противоположностью функции htmlentities() . Она преобразует все HTML-сущности в строке string в соответствующие символы.

Если быть точнее, то эта функция преобразует все сущности (в том числе все числовые сущности), которые а) обязательно верны для выбранного типа документа — то есть, для XML, эта функция не преобразует именованные сущности, которые могут быть определены в каком-нибудь DTD — и б) их символы находятся в кодировке соответвующей с выбранной кодировкой и разрешены в выбранном типе документа. Все другие сущности остаются без изменений. набор, связанный с выбранной кодировкой и разрешается в выбранном тип документа. Все другие субъекты, которые оставили как есть.

Список параметров

Битовая маска, состоящая из одного или более флагов, которые указывают как обращаться с кавычками и какой тип документа использовать. По умолчанию маска принимает значение ENT_COMPAT | ENT_HTML401.

Константы flags

Имя константыОписание
ENT_COMPATПреобразуются двойные кавычки, одиночные остаются без изменений.
ENT_QUOTESПреобразуются и двойные, и одиночные кавычки.
ENT_NOQUOTESИ двойные, и одиночные кавычки остаются без изменений.
ENT_HTML401Обрабатывать код как HTML 4.01.
ENT_XML1Обрабатывать код как XML 1.
ENT_XHTMLОбрабатывать код как XHTML.
ENT_HTML5Обрабатывать код как HTML 5.

Необязательный аргумент определяющий кодировку, используемую при конвертации симоволов.

Если не указан, то значением по умолчанию для encoding зависит от используемой версии PHP. В PHP 5.6 и старше, для значения по умолчанию используется конфигурационная опция default_charset. В PHP 5.4 и 5.5 используется UTF-8 по умолчанию. Более ранние версии PHP используют ISO-8859-1.

Хотя этот аргумент является технически необязательным, настоятельно рекомендуется указать правильное значение для вашего кода, если вы используете PHP 5.5 или выше, или если ваша опция конфигурации default_charset может быть задана неверно для входных данных.

Поддерживаются следующие кодировки:

Поддерживаемые кодировки

КодировкаПсевдонимыОписание
ISO-8859-1ISO8859-1Западно-европейская Latin-1.
ISO-8859-5ISO8859-5Редко используемая кириллическая кодировка (Latin/Cyrillic).
ISO-8859-15ISO8859-15Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-88-битная Unicode, совместимая с ASCII.
cp866ibm866, 866Кириллическая кодировка, применяемая в DOS.
cp1251Windows-1251, win-1251, 1251Кириллическая кодировка, применяемая в Windows.
cp1252Windows-1252, 1252Западно-европейская кодировка, применяемая в Windows.
KOI8-Rkoi8-ru, koi8rРусская кодировка.
BIG5950Традиционный китайский, применяется в основном на Тайване.
GB2312936Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCSРасширенная Big5, применяемая в Гонг-Конге.
Shift_JISSJIS, SJIS-win, cp932, 932Японская кодировка.
EUC-JPEUCJP, eucJP-winЯпонская кодировка.
MacRomanКодировка, используемая в Mac OS.
»Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale() ), в указанном порядке. Не рекомендуется к использованию.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

Возвращаемые значения

Возвращает раскодированную строку.

Список изменений

ВерсияОписание
5.6.0Значение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
5.4.0Кодировка по умолчанию сменилась с ISO-8859-1 на UTF-8.
5.4.0Были добавлены константы ENT_HTML401 , ENT_XML1 , ENT_XHTML и ENT_HTML5 .

Примеры

Пример #1 Декодирование HTML-сущностей

= «I’ll «walk» the dog now» ;

$a = htmlentities ( $orig );

$b = html_entity_decode ( $a );

echo $a ; // I’ll «walk» the dog now

echo $b ; // I’ll «walk» the dog now
?>

Примечания

Может показаться странным, что результатом вызова trim(html_entity_decode(‘ ‘)); не является пустая строка. Причина том, что ‘ ‘ преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim() ),а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.

Смотрите также

  • htmlentities() — Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars() — Преобразует специальные символы в HTML-сущности
  • get_html_translation_table() — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • urldecode() — Декодирование URL-кодированной строки

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

html_entity_decode — Преобразует HTML-сущности в соответствующие им символы

Описание

html_entity_decode() является противоположностью функции htmlentities() . Она преобразует HTML-сущности в строке string в соответствующие им символы.

Если быть точнее, то эта функция преобразует все сущности (в том числе все числовые сущности), которые а) обязательно верны для выбранного типа документа — то есть, для XML эта функция не преобразует именованные сущности, которые могут быть определены в каком-нибудь DTD — и б) их символы находятся в кодировке, соответствующей выбранной и разрешены в выбранном типе документа. Все другие сущности остаются без изменений.

Список параметров

Битовая маска, состоящая из одного или более флагов, которые указывают, как обращаться с кавычками и какой тип документа использовать. По умолчанию маска принимает значение ENT_COMPAT | ENT_HTML401.

Константы flags

Имя константыОписание
ENT_COMPATПреобразуются двойные кавычки, одинарные остаются без изменений.
ENT_QUOTESПреобразуются и двойные, и одинарные кавычки.
ENT_NOQUOTESОставить как двойные, так и одинарные кавычки без изменений.
ENT_HTML401Обрабатывать код как HTML 4.01.
ENT_XML1Обрабатывать код как XML 1.
ENT_XHTMLОбрабатывать код как XHTML.
ENT_HTML5Обрабатывать код как HTML 5.

Необязательный аргумент, определяющий кодировку, используемую при конвертации симоволов.

Если не указан, то значение по умолчанию для encoding зависит от используемой версии PHP. В PHP 5.6 и выше, для значения по умолчанию используется конфигурационная опция default_charset. В PHP 5.4 и 5.5 используется UTF-8 по умолчанию. Более ранние версии PHP используют ISO-8859-1.

Хотя этот аргумент является технически необязательным, настоятельно рекомендуется указать правильное значение для вашего кода, если вы используете PHP 5.5 или выше, или если ваша опция конфигурации default_charset может быть задана неверно для входных данных.

Поддерживаются следующие кодировки:

Поддерживаемые кодировки

КодировкаПсевдонимыОписание
ISO-8859-1ISO8859-1Западно-европейская Latin-1.
ISO-8859-5ISO8859-5Редко используемая кириллическая кодировка (Latin/Cyrillic).
ISO-8859-15ISO8859-15Западно-европейская Latin-9. Добавляет знак евро, французские и финские буквы к кодировке Latin-1 (ISO-8859-1).
UTF-88-битная Unicode, совместимая с ASCII.
cp866ibm866, 866Кириллическая кодировка, применяемая в DOS.
cp1251Windows-1251, win-1251, 1251Кириллическая кодировка, применяемая в Windows.
cp1252Windows-1252, 1252Западно-европейская кодировка, применяемая в Windows.
KOI8-Rkoi8-ru, koi8rРусская кодировка.
BIG5950Традиционный китайский, применяется в основном на Тайване.
GB2312936Упрощенный китайский, стандартная национальная кодировка.
BIG5-HKSCSРасширенная Big5, применяемая в Гонконге.
Shift_JISSJIS, SJIS-win, cp932, 932Японская кодировка.
EUC-JPEUCJP, eucJP-winЯпонская кодировка.
MacRomanКодировка, используемая в Mac OS.
»Пустая строка активирует режим определения кодировки из файла скрипта (Zend multibyte), default_charset и текущей локали (см. nl_langinfo() и setlocale() ) в указанном порядке. Не рекомендуется к использованию.

Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.

Возвращаемые значения

Возвращает раскодированную строку.

Список изменений

ВерсияОписание
5.6.0Значение по умолчанию для параметра encoding было изменено на значение конфигурационной опции default_charset.
5.4.0Кодировка по умолчанию сменилась с ISO-8859-1 на UTF-8.
5.4.0Были добавлены константы ENT_HTML401 , ENT_XML1 , ENT_XHTML и ENT_HTML5 .

Примеры

Пример #1 Декодирование HTML-сущностей

= «I’ll «walk» the dog now» ;

$a = htmlentities ( $orig );

$b = html_entity_decode ( $a );

echo $a ; // I’ll «walk» the dog now

echo $b ; // I’ll «walk» the dog now
?>

Примечания

Может показаться странным, что результатом вызова trim(html_entity_decode(‘ ‘)); не является пустая строка. Причина том, что ‘ ‘ преобразуется не в символ с ASCII-кодом 32 (который удаляется функцией trim() ), а в символ с ASCII-кодом 160 (0xa0) в принимаемой по умолчанию кодировке ISO-8859-1.

Смотрите также

  • htmlentities() — Преобразует все возможные символы в соответствующие HTML-сущности
  • htmlspecialchars() — Преобразует специальные символы в HTML-сущности
  • get_html_translation_table() — Возвращает таблицу преобразований, используемую функциями htmlspecialchars и htmlentities
  • urldecode() — Декодирование URL-кодированной строки

PHP html_entity_decode() Function

Example

Convert HTML entities 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 html_entity_decode() function converts HTML entities to characters.

The html_entity_decode() function is the opposite of htmlentities().

Syntax

Parameter Values

ParameterDescription
stringRequired. Specifies the string to decode
flagsOptional. 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
character-setOptional. A string that specifies which character-set to use.

Allowed values are:

  • 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:

The HTML output of the code above will be (View Source):

The browser output of the code above will be:

Example

Convert some HTML entities to characters, using the Western European character-set:

The HTML output of the code above will be (View Source):

The browser output of the code above will be:

Читать еще:  Php protected private
Ссылка на основную публикацию
Adblock
detector