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 и двойные, и одиночные кавычки остаются без изменений.

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

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

  • '"' (двойная кавычка) преобразуется в '"', когда ENT_NOQUOTES не установленна.

  • ''' (одиночная кавычка) преобразуется в ''' только в режиме ENT_QUOTES.

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

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

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

$new = htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES);
echo $new; // <a href='test'>Test</a>

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

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

    Начиная с PHP 4.3.0 поддерживаются следующие кодировки:
  • ISO-8859-1, ISO8859-1 Западно-европейская Latin-1 ISO-8859-15ISO8859-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.
  • BIG5950 Традиционный китайский, применяется в основном на Тайване.
  • GB2312936 Упрощенный китайский, стандартная национальная кодировка.
  • BIG5-HKSCS  Расширенная Big5, применяемая в Гонг-Конге.
  • Shift_JISSJIS, 932 Японская кодировка.
  • EUC-JPEUCJP Японская кодировка.

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

Все функции перекодирование
Описание на ru2.php.net
Описание на php.ru