Идентификатор | Имя | Флаги | Описание |
---|---|---|---|
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 объявлен устаревшим. |