Идентификатор | Имя | Флаги | Описание |
---|---|---|---|
FILTER_SANITIZE_EMAIL |
"email" |
Удаляет символы, кроме букв, цифр и символов
!#$%&'*+-=?^_`{|}~@.[] .
|
|
FILTER_SANITIZE_ENCODED |
"encoded" |
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_STRIP_BACKTICK ,
FILTER_FLAG_ENCODE_LOW ,
FILTER_FLAG_ENCODE_HIGH
|
Кодирует строку в формат URL, и, если нужно, удаляет или кодирует специальные символы. |
FILTER_SANITIZE_MAGIC_QUOTES |
"magic_quotes" |
Применяет функцию addslashes().
(УСТАРЕЛА с PHP 7.3.0 и
УДАЛЕНА с PHP 8.0.0,
вместо неё указывают
FILTER_SANITIZE_ADD_SLASHES .)
|
|
FILTER_SANITIZE_ADD_SLASHES |
"add_slashes" | Применяет функцию addslashes(). (Доступно с PHP 7.3.0.) | |
FILTER_SANITIZE_NUMBER_FLOAT |
"number_float" |
FILTER_FLAG_ALLOW_FRACTION ,
FILTER_FLAG_ALLOW_THOUSAND ,
FILTER_FLAG_ALLOW_SCIENTIFIC
|
Удаляет символы, кроме цифр, +- и если нужно,
то и .,eE .
|
FILTER_SANITIZE_NUMBER_INT |
"number_int" | Удаляет символы, кроме цифр и знаков плюса и минуса. | |
FILTER_SANITIZE_SPECIAL_CHARS |
"special_chars" |
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_STRIP_BACKTICK ,
FILTER_FLAG_ENCODE_HIGH
|
Кодирует символы '"<>& и символы
с ASCII-кодом меньше 32 в HTML-сущности, и, если нужно, удаляет или кодирует остальные специальные символы.
|
FILTER_SANITIZE_FULL_SPECIAL_CHARS |
"full_special_chars" |
FILTER_FLAG_NO_ENCODE_QUOTES
|
Эквивалент вызова функции htmlspecialchars()
с параметром ENT_QUOTES . Кодирование кавычек
отключают установкой флага FILTER_FLAG_NO_ENCODE_QUOTES .
Как и функция htmlspecialchars(), этот фильтр учитывает
директиву default_charset, и если
в последовательности байтов будет обнаружен недопустимый для текущей кодировки символ,
то вся строка будет забракована, а результатом будет строка нулевой длины.
При установке этого фильтра в качестве фильтра по умолчанию учитывают
предупреждение, которое изложено ниже, оно рассказывает об установке флагам по умолчанию значения 0.
|
FILTER_SANITIZE_STRING |
"string" |
FILTER_FLAG_NO_ENCODE_QUOTES ,
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_STRIP_BACKTICK ,
FILTER_FLAG_ENCODE_LOW ,
FILTER_FLAG_ENCODE_HIGH ,
FILTER_FLAG_ENCODE_AMP
|
Удаляет теги и кодирует двойные и одинарные кавычки,
а если нужно, удаляет или кодирует специальные символы.
Кодирование кавычек можно отключить, установив FILTER_FLAG_NO_ENCODE_QUOTES .
(Объявлен устаревшим начиная с PHP 8.1.0,
используйте вместо него функцию htmlspecialchars()).
|
FILTER_SANITIZE_STRIPPED |
"stripped" | Псевдоним фильтра "string". (Объявлен устаревшим начиная с PHP 8.1.0, используйте вместо него функцию htmlspecialchars()). | |
FILTER_SANITIZE_URL |
"url" |
Удаляет символы, кроме букв, цифр
и $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&= .
|
|
FILTER_UNSAFE_RAW |
"unsafe_raw" |
FILTER_FLAG_STRIP_LOW ,
FILTER_FLAG_STRIP_HIGH ,
FILTER_FLAG_STRIP_BACKTICK ,
FILTER_FLAG_ENCODE_LOW ,
FILTER_FLAG_ENCODE_HIGH ,
FILTER_FLAG_ENCODE_AMP
|
Бездействует, и, если нужно, удаляет или кодирует специальные символы.
Этот фильтр — псевдоним фильтра FILTER_DEFAULT . |
Когда либо в ini-файле, либо в конфигурации веб-сервера один из этих фильтров указан
в качестве фильтра по умолчанию, флагом по умолчанию для него
будет значение FILTER_FLAG_NO_ENCODE_QUOTES
. Необходимо явно
установить параметру filter.default_flags значение 0, чтобы по умолчанию кавычки кодировались.
Вот так:
Пример #1 Настройка фильтра по умолчанию для работы аналогично функции htmlspecialchars
filter.default = full_special_chars
filter.default_flags = 0
Версия | Описание |
---|---|
8.1.0 |
Фильтры FILTER_SANITIZE_STRING
и FILTER_SANITIZE_STRIPPED объявлены устаревшими.
|
8.0.0 |
Удалён фильтр FILTER_SANITIZE_MAGIC_QUOTES .
|
7.3.0 |
В качестве замены FILTER_SANITIZE_MAGIC_QUOTES
добавлен фильтр FILTER_SANITIZE_ADD_SLASHES .
|
7.3.0 |
Фильтр FILTER_SANITIZE_MAGIC_QUOTES объявлен устаревшим.
|