Функция PHP html_entity_decode()

Пример

Преобразовать预定义的 HTML-символы "<" (меньше) и ">" (больше) в символы:

<?php
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

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

<!DOCTYPE html>
<html>
<body>
This is some <b>bold</b> text.
</body>
</html>

Вывод кода в браузере выше:

This is some bold text.

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

Функция htmlspecialchars_decode() преобразует预定义的 HTML-символы в символы.

Декодируемые HTML-символы включают:

  • & декодируется в & (и)
  • " декодируется в " (двойная кавычка)
  • ' декодируется в ' (одинарная кавычка)
  • < декодируется в < (меньше)
  • > декодируется в > (больше)

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

Синтаксис

htmlspecialchars_decode(string,flags)
Параметр Описание
string Обязателен. Определяет строку, которую нужно декодировать.
flags

Опционально. Определяет, как обрабатывать кавычки и哪种 документ типа использовать.

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

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

Дополнительные флаги для указанного типа документа:

  • ENT_HTML401 - по умолчанию. Как обработка кода HTML 4.01.
  • ENT_HTML5 - как обработка кода HTML 5.
  • ENT_XML1 - как обработка кода XML 1.
  • ENT_XHTML - как обработка кода XHTML.

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

Вернуть значение: Вернуть преобразованный строковый результат.
Версия PHP: 5.1.0+
Журнал обновлений:

В PHP 5.4 были добавлены дополнительные флаги для определения используемого типа документа:

  • ENT_HTML401
  • ENT_HTML5
  • ENT_XML1
  • ENT_XHTML

Более примеров

Пример 1

Преобразование предопределенных HTML-символов в символы:

<?php
$str = "Bill & 'Steve'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Преобразовывать только двойные кавычки
echo "<br>";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Преобразование двойных и одинарных кавычек
echo "<br>";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Не преобразовывать никакие кавычки
?>

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

<!DOCTYPE html>
<html>
<body>
Bill & 'Steve'<br>
Bill & 'Steve'<br>
Bill & 'Steve'
</body>
</html>

Вывод кода в браузере выше:

Bill & 'Steve'
Bill & 'Steve'
Bill & 'Steve'

Пример 2

Преобразование предопределенных HTML-символов в двойные кавычки:

<?php
$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Преобразование двойных и одинарных кавычек
?>

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

<!DOCTYPE html>
<html>
<body>
Я люблю "PHP".
</body>
</html>

Вывод кода в браузере выше:

Я люблю "PHP".