htmlspecialchars_decode
implode
Функции обработки строк
PHP Manual

# htmlspecialchars

(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 поддерживаются следующие кодировки.

Поддерживаемые кодировки
Кодировка | Псевдонимы | Описание
--- | --- | ---
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
Функции обработки строк
PHP Manual