Руководство по PHP
Пред. |  | След.

# htmlspecialchars

(PHP 3, PHP 4, PHP 5)

htmlspecialchars -- Преобразует специальные символы в HTML сущности

## Описание

string htmlspecialchars ( string string [, int quote_style [, string charset]] )

В HTML некоторые символы имеют специальное значение и для сохранения своего значения должны быть преобразованы в HTML сущности. Эта функция возвращает строку, над которой проведены некоторые из таких преобразований. Этих преобразований достаточно для большинства задач веб-программирования. Если вам нужно преобразовать все возможные сущности, используйте htmlentities().

Эта функция полезна при отображении данных, введенных пользователем, которые могут содержать нежелательные HTML тэги, например в форуме или гостевой книге. Необязательный второй аргумент quote_style определяет режим обработки одиночных и двойных кавычек. В режиме по умолчанию, `ENT_COMPAT`, преобразуются двойные кавычки, одиночные остаются без изменений. В режиме `ENT_QUOTES` преобразуются и двойные, и одиночные кавычки. а в режиме `ENT_NOQUOTES` и двойные, и одиночные кавычки остаются без изменений.

Производятся следующие преобразования:

- '&' (амперсанд) преобразуется в '&amp;'

- '"' (двойная кавычка) преобразуется в '&quot;' when `ENT_NOQUOTES` is not set.

- ''' (одиночная кавычка) преобразуется в '&#039;' только в режиме `ENT_QUOTES`.

- '<' (знак "меньше чем") преобразуется в '&lt;'

- '>' (знак "больше чем") преобразуется в '&gt;'

Пример 1. Пример использования htmlspecialchars()

`<?php $new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES); echo $new; // &lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt; ?>`

Обратите внимание, что функция не производит других преобразований кроме описанных выше. Для преобразования всех HTML сущностей используйте htmlentities(). Поддержка необязательного второго аргумента была добавлена в PHP 3.0.17 и PHP 4.0.3.

Необязательный третий аргумент charset определяет кодировку, используемую при преобразовании. По умолчанию используется кодировка ISO-8859-1. Поддержка этого аргумента была добавлена в PHP 4.1.0.

Начиная с PHP 4.3.0 поддерживаются следующие кодировки.

Таблица 1. Поддерживаемые кодировки

Кодировка | Псевдонимы | Описание
--- | --- | ---
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.

См. также описание функций get_html_translation_table(), strip_tags(), htmlentities() и nl2br().

Пред. | Начало | След.
htmlspecialchars_decode | Уровень выше | implode