Эта функция идентична htmlspecialchars() за
исключением того, что htmlentities() преобразует
все символы в соответствющие HTML-сущности (для тех символов, для
которых HTML сущности существуют).
Если же вы хотите раскодировать строку (наоборот), используйте
html_entity_decode().
Список параметров
string
Входная строка.
flags
Битовая маска из нижеуказанных флагов, определяющих режим обработки
кавычек, некорректных кодовых последовательностей и используемый
тип документа. По умолчанию используется
ENT_COMPAT | ENT_HTML401.
Доступные значения параметра flags
Название константы
Описание
ENT_COMPAT
Преобразует двойные кавычки, одинарные кавычки не изменяются.
ENT_QUOTES
Преобразует как двойные, так и одинарные кавычки.
ENT_NOQUOTES
Оставляет без изменения как двойные, так и одинарные кавычки.
ENT_IGNORE
Молча отбрасывает некорректные кодовые последовательности
вместо возврата пустой строки.
Данная возможность предоставляется в целях обратной совместимости,
избегайте ее использования, т.к. она может внести уязвимости
в ваш код.
ENT_SUBSTITUTE
Заменяет некорреткные кодовые последовательности символом замены
Юникода U+FFFD в случае использования UTF-8 и
&#FFFD; при использовании другой кодировки, вместо возврата
пустой строки.
ENT_DISALLOWED
Заменяет кодовые последовательности, несоответствующие указанному
типу документа символом замены Юникода U+FFFD в случае использования
UTF-8 и &#FFFD; при использовании другой кодировки.
ENT_HTML401
Обработка кода в соответствии с HTML 4.01.
ENT_XML1
Обработка кода в соответствии с XML 1.
ENT_XHTML
Обработка кода в соответствии с XHTML.
ENT_HTML5
Обработка кода в соответствии с HTML 5.
charset
Подобно htmlspecialchars(), необязательный третий
аргумент charset определяет кодировку,
используемую при преобразовании.
По умолчанию, в настоящее время используется кодировка ISO-8859-1.
Однако, наиболее вероятно это значение изменится в будущих версиях
PHP; строго рекомендуется указывать кодировку вручную при
использовании данной функции.
Начиная с PHP 4.3.0 поддерживаются следующие кодировки.
Поддерживаемые кодировки
Кодировка
Псевдонимы
Описание
ISO-8859-1
ISO8859-1
Западно-европейская Latin-1
ISO-8859-15
ISO8859-15
Западно-европейская Latin-9. Добавляет знак евро, французские и
финские буквы к кодировке Latin-1(ISO-8859-1).
UTF-8
8-битная Unicode, совместимая с ASCII.
cp866
ibm866, 866
Кириллическая кодировка, применяемая в DOS.
Поддерживается в версии 4.3.2.
cp1251
Windows-1251, win-1251, 1251
Кириллическая кодировка, применяемая в Windows.
Поддерживается в версии 4.3.2.
cp1252
Windows-1252, 1252
Западно-европейская кодировка, применяемая в Windows.
KOI8-R
koi8-ru, koi8r
Русская кодировка.
Поддерживается в версии 4.3.2.
BIG5
950
Традиционный китайский, применяется в основном на Тайване.
Пустая строка активирует режим определения кодировки из файла
скрипта (Zend multibyte),
default_charset и текущей
локали (см. nl_langinfo() и
setlocale()), в указанном порядке.
Не рекомендуется к использованию.
Замечание:
Остальные кодировки не поддерживаются, вместо них будет применена
кодировка по умолчанию и сгенерировано предупреждение.
double_encode
При выключении параметра double_encode
PHP не будет преобразовывать существующие html-сущности. По умолчанию
преобразуется все без ограничений.
Возвращаемые значения
Возвращает преобразованную строку.
Список изменений
Версия
Описание
5.4.0
Добавлены константы ENT_SUBSTITUTE, ENT_DISALLOWED,
ENT_HTML401, ENT_XML1,
ENT_XHTML и ENT_HTML5.
5.3.0
Добавлена константа ENT_IGNORE.
5.2.3
Добавлен параметр double_encode.
4.1.0
Добавлен параметр charset.
4.0.3
Добавлен параметр flags.
Примеры
Пример #1 Пример использования htmlentities()
<?php $str = "A 'quote' is <b>bold</b>";
// выводит: A 'quote' is <b>bold</b> echo htmlentities($str);
// выводит: A 'quote' is <b>bold</b> echo htmlentities($str, ENT_QUOTES); ?>