|
|
htmlentities (PHP 3, PHP 4, PHP 5) htmlentities --
Преобразует символы в соответствующие HTML сущности.
Описаниеstring htmlentities ( string string [, int quote_style [, string charset]] )
Эта функция идентична htmlspecialchars() за
исключением того, что htmlentities() преобразует
все символы в соответствющие HTML сущности (для тех символов, для
которых HTML сущности существуют).
Подобно htmlspecialchars(), необязательный
аргумент quote_style позволяет указать способ
обработки 'одиночных' и "двойных" кавычек. Значением этого аргумента
может быть одна из трех следующих констант (по умолчанию
ENT_COMPAT):
Таблица 1. Константы quote_style | Имя константы | Описание |
|---|
| ENT_COMPAT |
Преобразуются двойные кавычки, одиночные остаются без изменений.
| | ENT_QUOTES |
Преобразуются и двойные, и одиночные кавычки.
| | ENT_NOQUOTES |
И двойные, и одиночные кавычки остаются без изменений.
|
Поддержка необязательно аргумента quote_style была
добавлена в PHP 4.0.3.
Подобно htmlspecialchars(), необязательный третий
аргумент charset определяет кодировку,
используемую при преобразовании. Поддержка этого аргумента
была добавлена в PHP 4.1.0. По умолчанию в настоящее время
используется кодировка 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.
Для выполнения обратного преобразования используется функция
html_entity_decode().
Пример 1. Пример использования htmlentities() |
<?php
$str = "A 'quote' is <b>bold</b>";
echo htmlentities($str);
echo htmlentities($str, ENT_QUOTES);
?>
|
|
См. также описание функций html_entity_decode(),
get_html_translation_table(),
htmlspecialchars(), nl2br()
и urlencode().
SR
15-Oct-2007 12:57
There's no sane reason to use htmlentities() instead of htmlspecialchars(). As long as you specify the charset of a page with a Content-Type meta in the head of a page (which you should ALWAYS do in the first place), escaping all characters is completely pointless and will only grow the size of your page. Only the special HTML characters (<, >, &, etc.) need to be escaped, which is exactly what htmlspecialchars() does.
marktpitman at gmail dot com
15-Oct-2007 07:21
I just thought I would add that if you're using the default charset, htmlentities will not correctly return the trademark ( ™ ) sign.
Instead it will return something like this:
|
|