html_entity_decode
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
html_entity_decode — Преобразует HTML-сущности в соответствующие им символы
Описание
Список параметров
Необязательный аргумент, определяющий кодировку, используемую при конвертации символов.
Если не указан, то значение по умолчанию для 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() ) в указанном порядке. Не рекомендуется к использованию. |
Замечание: Остальные кодировки не поддерживаются, вместо них будет применена кодировка по умолчанию и сгенерировано предупреждение.
Удалить html сущности php
Описание string html_entity_decode ( string string [, int quote_style [, string charset]] )
Необязательный аргумент quote_style позволяет указать способ обработки ‘одиночных’ и «двойных» кавычек. Значением этого аргумента может быть одна из трех следующих констант (по умолчанию ENT_COMPAT ):
Таблица 1. Константы quote_style
| Имя константы | Описание |
|---|---|
| ENT_COMPAT | Преобразуются двойные кавычки, одиночные остаются без изменений. |
| ENT_QUOTES | Преобразуются и двойные, и одиночные кавычки. |
| ENT_NOQUOTES | И двойные, и одиночные кавычки остаются без изменений. |
Необязательный третий аргумент charset определяет кодировку, используемую при преобразовании. По умолчанию используется кодировка ISO-8859-1.
Начиная с PHP 4.3.0 поддерживаются следующие кодировки.
Таблица 2. Поддерживаемые кодировки
| Кодировка | Псевдонимы | Описание |
|---|---|---|
| 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 | Традиционный китайский, применяется в основном на Тайване. |
| GB2312 | 936 | Упрощенный китайский, стандартная национальная кодировка. |
| BIG5-HKSCS | Расширенная Big5, применяемая в Гонг-Конге. | |
| Shift_JIS | SJIS, 932 | Японская кодировка. |
| EUC-JP | EUCJP | Японская кодировка. |
Замечание: Не перечисленные выше кодировки не поддерживаются, и вместо них применяется ISO-8859-1.
Пример 1. Декодирование HTML сущностей
= «I’ll \»walk\» the dog now» ;
htmlspecialchars — Преобразует специальные символы в HTML-сущности ОписаниеСписок параметровБитовая маска из нижеуказанных флагов, определяющих режим обработки кавычек, некорректных кодовых последовательностей и используемый тип документа. По умолчанию используется ENT_COMPAT | ENT_HTML401.
Необязательный аргумент определяющий кодировку, используемую при конвертации симоволов. Если не указан, то значением по умолчанию для encoding зависит от используемой версии PHP. В PHP 5.6 и старше, для значения по умолчанию используется конфигурационная опция default_charset. В PHP 5.4 и 5.5 используется UTF-8 по умолчанию. Более ранние версии PHP используют ISO-8859-1. Хотя этот аргумент является технически необязательным, настоятельно рекомендуется указать правильное значение для вашего кода, если вы используете PHP 5.5 или выше, или если ваша опция конфигурации default_charset может быть задана неверно для входных данных. Поддерживаются следующие кодировки:
Если параметр double_encode выключен, то PHP не будет преобразовывать существующие html-сущности. По умолчанию преобразуется все без ограничений. Возвращаемые значенияСписок измененийПримерыПример #1 Пример использования htmlspecialchars() ПримечанияСмотрите такжеhtmlspecialchars(PHP 4, PHP 5, PHP 7, PHP 8) htmlspecialchars — Преобразует специальные символы в HTML-сущности ОписаниеСписок параметровКонвертируемая строка ( string ). Необязательный аргумент, определяющий кодировку, используемую при конвертации символов. Если не указан, то значение по умолчанию для encoding зависит от конфигурационной опции default_charset. Хотя этот аргумент является технически необязательным, настоятельно рекомендуется указать правильное значение для вашего кода, опция конфигурации default_charset может быть задана неверно для входных данных. Поддерживаются следующие кодировки:
Если параметр double_encode выключен, то PHP не будет преобразовывать существующие html-сущности. По умолчанию преобразуется все без ограничений. Возвращаемые значенияПреобразованная строка ( string ). ПримерыПример #1 Пример использования htmlspecialchars() htmlentities(PHP 4, PHP 5, PHP 7, PHP 8) htmlentities — Преобразует все возможные символы в соответствующие HTML-сущности ОписаниеЭта функция идентична htmlspecialchars() за исключением того, что htmlentities() преобразует все символы в соответствующие HTML-сущности (для тех символов, для которых HTML-сущности существуют). Список параметровНеобязательный аргумент, определяющий кодировку, используемую при конвертации символов. Если не указан, то значение по умолчанию для encoding зависит от конфигурационной опции default_charset. Хотя этот аргумент является технически необязательным, настоятельно рекомендуется указать правильное значение для вашего кода, опция конфигурации default_charset может быть задана неверно для входных данных. Поддерживаются следующие кодировки:
Возвращаемые значенияВозвращает преобразованную строку. Список измененийПримерыПример #1 Пример использования htmlentities() Пример #2 Использование ENT_IGNORE Смотрите такжеUser Contributed Notes 21 notesAn important note below about using this function to secure your application against Cross Site Scripting (XSS) vulnerabilities. When printing user input in an attribute of an HTML tag, the default configuration of htmlEntities() doesn’t protect you against XSS, when using single quotes to define the border of the tag’s attribute-value. XSS is then possible by injecting a single quote: [ ‘a’ ] = «#000′ onload=’alert(document.cookie)» ; XSS possible (insecure): I’ve seen lots of functions to convert all the entities, but I needed to do a fulltext search in a db field that had named entities instead of numeric entities (edited by tinymce), so I searched the tinymce source and found a string with the value->entity mapping. So, i wrote the following function to encode the user’s query with named entities. The string I used is different of the original, because i didn’t want to convert ‘ or «. The string is too long, so I had to cut it. To get the original check TinyMCE source and search for nbsp or other entity 😉 If you are building a loadvars page for Flash and have problems with special chars such as » & «, » ‘ » etc, you should escape them for flash: Try trace(escape(«&»)); in flash’ actionscript to see the escape code for &; The flag ENT_HTML5 also strips newline chars like \n with htmlentities while htmlspecialchars is not affected by that. If you want to use nl2br on that string afterwards you might end up searching the problem like i did. This does not apply to other flags like e.g. ENT_XHTML which confused me. Tested this with PHP 5.4 / 5.5 / 5.6-dev with same results, so it seems that this is an intended «feature». For those Spanish (and not only) folks, that want their national letters back after htmlentities 🙂 The following will make a string completely safe for XML: |