PHP. Учебник. 2005

html_entity_decode

Пред.

След.

html_entity_decode

(PHP 4 >= 4.3.0, PHP 5)html_entity_decode -- Преобразует HTML сущности в соответствующие символы

Описание

string html_entity_decode ( string string [, int quote_style [, string charset]] )


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

- Необязательный аргумент 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-8- 8-битная 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 сущностей

<?php
$orig
= "I'll \"walk\" the <b>dog</b> now";

$a = htmlentities($orig);

$b = html_entity_decode($a);

echo
$a; // I'll &quot;walk&quot; the &lt;b&gt;dog&lt;/b&gt; now

echo $b; // I'll "walk" the <b>dog</b> 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 <b>dog</b> now

?>

-

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

- См. также описание функций htmlentities(), htmlspecialchars(), get_html_translation_table() и urldecode().

Пред.

Начало

След.

hebrevc

Уровень выше

htmlentities 22222

Free Web Hosting