htmlentities
(PHP 4, PHP 5, PHP 7, PHP 8)
htmlentities — Перетворює всі можливі символи у відповідні HTML-сутності
Опис
htmlentities( string $string, int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401, ?string $encoding = null, bool $double_encode = true): string
Ця функція ідентична функції htmlspecialchars() за винятком того, що функція htmlentities() перетворює всі символи у відповідні HTML-сутності (для тих символів, котрим HTML-сутності існують). Функція get_html_translation_table() може бути використана для повернення використовуваної таблиці перекладу залежно від наданих констант у параметрі flags
Якщо потрібно розкодувати рядок (навпаки), використовуйте функцію html_entity_decode()
Список параметрів
string
Вхідний рядок.
flags
Бітова маска з вказаних нижче прапорів, що визначають режим обробки лапок, некоректних кодових послідовностей і тип документа, що використовується. За замовчуванням використовується ENT_QUOTES | ENT_SUBSTITUTE | 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; (при використанні іншого кодування) замість того, щоб залишати все як є. Це може бути корисним, наприклад, для того, щоб переконатися у формальній правильності XML-документів із вбудованим зовнішнім контентом. |
ENT_HTML401 | Обробка коду відповідно до HTML 4.01. |
ENT_XML1 | Обробка коду відповідно до XML 1. |
ENT_XHTML | Обробка коду відповідно до XHTML. |
ENT_HTML5 | Обробка коду відповідно до HTML 5. |
encoding
Необов'язковий аргумент, що визначає кодування, яке використовується при конвертації символів.
Если не указан, то значение по умолчанию дляencoding залежить від конфігураційної опції default_charset
Хоча цей аргумент є технічно необов'язковим, рекомендується вказати правильне значення для вашого коду, опція конфігурації default_charset може бути задана неправильно для вхідних даних.
Підтримуються такі кодування:
Підтримувані кодування
| Кодировка | Псевдонимы | Опис |
|---|---|---|
| ISO-8859-1 | ISO8859-1 | Західноєвропейська Latin-1. |
| ISO-8859-5 | ISO8859-5 | Рідко використовуване кириличне кодування (Latin/Cyrillic). |
| ISO-8859-15 | ISO8859-15 | Західноєвропейська Latin-9. Додає символ євро, французькі та фінські літери до кодування Latin-1 (ISO-8859-1). |
| UTF-8 | 8-бітна Unicode, сумісна з ASCII. | |
| cp866 | ibm866, 866 | Кирилічна кодування, що застосовується в DOS. |
| cp1251 | Windows-1251, win-1251, 1251 | Кирилічна кодування, що використовується у Windows. |
| cp1252 | Windows-1252, 1252 | Західно-європейське кодування, що використовується у Windows. |
| KOI8-R | koi8-ru, koi8r | Російське кодування. |
| BIG5 | 950 | Традиційний китайський, застосовується переважно на Тайвані. |
| GB2312 | 936 | Спрощена китайська, стандартне національне кодування. |
| BIG5-HKSCS | Розширена Big5, що застосовується в Гонконгу. | |
| Shift_JIS | SJIS, SJIS-win, cp932, 932 | Японське кодування. |
| EUC-JP | EUCJP, eucJP-win | Японське кодування. |
| MacRoman | Кодування, яке використовується в Mac OS. | |
'' | Порожній рядок активує режим визначення кодування із файлу скрипта (Zend multibyte), default_charset та поточної локалі (дивіться nl_langinfo() і setlocale()) у зазначеному порядку. Не рекомендується використовувати. |
Зауваження: Інші кодування не підтримуються, замість них буде застосовано кодування за замовчуванням та згенеровано попередження.
double_encode
При вимкненні параметра double_encode, PHP не перетворюватиме існуючі html-сутності. За промовчанням перетворює все без обмежень.
Значення, що повертаються
Повертає перетворений рядок.
За наявності у вхідному параметрі string неприпустимої послідовності символів у заданому кодуванні encoding, буде повернено порожній рядок, якщо не встановлено прапори ENT_IGNORE або ENT_SUBSTITUTE
список змін
| Версия | Опис |
|---|---|
| 8.1.0 | Значення за промовчанням flags змінено з ENT_COMPATнаENT_QUOTES |
| 8.0.0 | encoding тепер допускає значення null. |
Приклади
Приклад #1 Приклад використання htmlentities()****
Loading...
Приклад #2 ИспользованиеENT_IGNORE****
Loading...
Дивіться також
- html_entity_decode() - Перетворює HTML-сутності на символи
- get_html_translation_table() - Повертає таблицю перетворень, використовувану функціями htmlspecialchars і htmlentities
- htmlspecialchars() - Перетворює спеціальні символи в HTML-сутності
- nl2br() - Вставляє HTML код розриву рядка перед кожним перекладом рядка
- urlencode() - URL-кодування рядка