PHP html_entity_decode()Функции

PHP String 参考手册Справочное руководство по строкам PHP

Примеры

Преобразование HTML-сущностей в символы:

<?php
$str = "&lt;&copy; W3CS&ccedil;h&deg;&deg;&brvbar;&sect;&gt;";
echo html_entity_decode($str);
?>

HTML-вывод приведённого выше кода выглядит следующим образом (просмотрите исходный код):

<!DOCTYPE html>
<html>
<body>
<© W3CSçh°°¦§>
</body>
</html>

Вывод браузера для приведённого выше кода выглядит так:

<© W3CSçh°°¦§>


Определение и использование

Функция html_entity_decode() преобразует HTML-сущности в символы.

Функция html_entity_decode() является обратной функцией функцииhtmlentities().


Синтаксис

html_entity_decode(string,flags,character-set)

Parameters Описание
string Обязательный. Задает строку для декодирования.
флаги Необязательный. Указывает, как обрабатывать кавычки и какой тип документа использовать.

Доступные типы кавычек:

  • ENT_COMPAT — по умолчанию. Декодирует только двойные кавычки.
  • ENT_QUOTES — декодирует двойные и одинарные кавычки.
  • ENT_NOQUOTES — не декодирует никакие кавычки.

Дополнительные флаги, указывающие используемый тип документа:

  • ENT_HTML401 — по умолчанию. Обрабатывать код как HTML 4.01.
  • ENT_HTML5 — обрабатывать код как HTML 5.
  • ENT_XML1 — обрабатывать код как XML 1.
  • ENT_XHTML — обрабатывать код как XHTML.
character-set Необязательно. Строка, задающая используемую кодировку.

Допустимые значения:

  • UTF-8 — по умолчанию. ASCII-совместимый многобайтовый 8-битный Unicode
  • ISO-8859-1 - Западноевропейская
  • ISO-8859-15 - Западноевропейская (добавляет знак евро + французские и финские буквы, отсутствующие в ISO-8859-1)
  • cp866 - Кириллическая кодировка для DOS
  • cp1251 - Кириллическая кодировка для Windows
  • cp1252 - Западноевропейская кодировка для Windows
  • KOI8-R - Русская
  • BIG5 - Традиционный китайский, в основном используется на Тайване
  • GB2312 - упрощённый китайский, национальный стандартный набор символов
  • BIG5-HKSCS - Big5 с гонконгскими расширениями
  • Shift_JIS - японский
  • EUC-JP - японский
  • MacRoman — кодировка, используемая операционной системой Mac

Примечание:В версиях до PHP 5.4 нераспознанные кодировки игнорировались и заменялись на ISO-8859-1. Начиная с PHP 5.4 нераспознанные кодировки игнорируются и заменяются на UTF-8.

Технические детали

Возвращаемое значение: Возвращает преобразованную строку.
Версия PHP: 4.3.0+
Список изменений: В PHP 5 значение параметраcharacter-setпо умолчанию было изменено на UTF-8.

В PHP 5.4 были добавлены дополнительные флаги для указания используемого типа документа: ENT_HTML401, ENT_HTML5, ENT_XML1 и ENT_XHTML.

В PHP 5.0 была добавлена поддержка многобайтовых кодировок.


Другие примеры

Пример 1

Преобразование некоторых HTML-сущностей в символы:

<?php
$str = "Jane &amp; &#039;Tarzan&#039;";
echo html_entity_decode($str, ENT_COMPAT); // Преобразует только двойные кавычки
echo "<br>";
echo html_entity_decode($str, ENT_QUOTES); // Преобразует двойные и одинарные кавычки
echo "<br>";
echo html_entity_decode($str, ENT_NOQUOTES); // Не преобразует никакие кавычки
?>

HTML-вывод приведённого выше кода выглядит следующим образом (просмотрите исходный код):

<!DOCTYPE html>
<html>
<body>
Jane & &#039;Tarzan&#039;<br>
Jane & 'Tarzan'<br>
Jane & &#039;Tarzan&#039;
</body>
</html>

Вывод браузера для приведённого выше кода выглядит так:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'


Пример 2

Преобразование некоторых HTML-сущностей в символы с использованием западноевропейского набора символов:

<?php
$str = "My name is &Oslash;yvind &Aring;sane. I&#039;m Norwegian.";
echo html_entity_decode($str, ENT_QUOTES, "ISO-8859-1");
?>

HTML-вывод приведённого выше кода будет таким (Просмотреть исходный код):

<!DOCTYPE html>
<html>
<body>
Меня зовут Øyvind Åsane. Я норвежец.
</body>
</html>

Вывод браузера для приведённого выше кода выглядит так:

Меня зовут Øyvind Åsane. Я норвежец.



PHP String 参考手册Справочное руководство по строкам PHP Другие расширения