создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по 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

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting