Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!Следующие константы определяются модулем и доступны, только если модуль либо собрали в PHP, либо динамически загрузили при выполнении кода.
Следующие константы указывают при вызове функций filter_input() и filter_input_array().
INPUT_POST
    (int)
   INPUT_GET
    (int)
   INPUT_ENV
    (int)
   INPUT_SERVER
    (int)
   INPUT_SESSION
    (int)
   INPUT_REQUEST
    (int)
   FILTER_FLAG_NONE
    (int)
   FILTER_REQUIRE_SCALAR
    (int)
   FILTER_REQUIRE_ARRAY
    (int)
   FILTER_FORCE_ARRAY
    (int)
   FILTER_NULL_ON_FAILURE
    (int)
   null вместо false, если значение не прошло проверку.
    
    
     Флаг указывают при проверке значений фильтрами семейства
     FILTER_VALIDATE_*.
    
   FILTER_FLAG_STRIP_LOW
    (int)
   FILTER_FLAG_STRIP_HIGH
     (int)
   FILTER_FLAG_STRIP_BACKTICK
    (int)
   `.
    
   FILTER_FLAG_ENCODE_LOW
    (int)
   FILTER_FLAG_ENCODE_HIGH
    (int)
   FILTER_FLAG_ENCODE_AMP
    (int)
   &.
    
   FILTER_FLAG_NO_ENCODE_QUOTES
    (int)
   ' и двойных "
     кавычек для отдельных фильтров.
    
   FILTER_FLAG_EMPTY_STRING_NULL
    (int)
   null,
     если очистка строки возвращает пустую строку.
    
   FILTER_VALIDATE_BOOL
    (int)
   true для значений "1",
     1 (включая двоичную, восьмеричную и шестнадцатеричную нотации), 1.0,
     "true", true,
     "on",
     и "yes".
    
    
     Фильтр возвращает значение false для значений "0",
     0 (включая двоичную, восьмеричную и шестнадцатеричную нотации), 0.0,
     "false", false,
     "off",
     "no"
     и "".
    
    
     Строковые значения сравнивают без учёта регистра.
     С флагом FILTER_NULL_ON_FAILURE функция
     изменяет значение результата проверки нелогических значений.
     При установке флага вместо возврата значения false для нелогических значений функция возвращает значение null.
    
    defaultFILTER_VALIDATE_BOOLEAN
    (int)
   FILTER_VALIDATE_BOOL.
     До PHP 8.0.0 это название было каноническим названием фильтра проверки логических значений,
     а с появлением нового названия стало псевдонимом.
    
   FILTER_VALIDATE_INT
    (int)
   Замечание: Строковые значения обрезаются функцией trim() перед проверкой.
defaultmin_rangemax_rangeFILTER_FLAG_ALLOW_OCTAL
       (int)
      0[0-7]+.
       
      FILTER_FLAG_ALLOW_HEX
       (int)
      0x[0-9a-fA-F]+.
       
      FILTER_VALIDATE_FLOAT
    (int)
   Замечание: Строковые значения обрезаются функцией trim() перед проверкой.
defaultdecimalmin_rangemax_rangeFILTER_FLAG_ALLOW_THOUSAND
       (int)
      ,,
        которыми часто отбивают тысячи.
       
      FILTER_VALIDATE_REGEXP
    (int)
   regexp.
    
    defaultregexpFILTER_VALIDATE_URL
     (int)
   defaultFILTER_FLAG_SCHEME_REQUIRED
       (int)
      
         Флаг УСТАРЕЛ с PHP 7.3.0,
         а с PHP 8.0.0 флаг УДАЛИЛИ,
         поскольку фильтр FILTER_VALIDATE_URL
         и без того проверяет, содержит ли адрес схему.
        
FILTER_FLAG_HOST_REQUIRED
       (int)
      
         Флаг УСТАРЕЛ с PHP 7.3.0,
         а с PHP 8.0.0 флаг УДАЛИЛИ,
         поскольку фильтр FILTER_VALIDATE_URL
         и без того проверяет, содержит ли адрес хост.
        
FILTER_FLAG_PATH_REQUIRED
       (int)
      FILTER_FLAG_QUERY_REQUIRED
       (int)
      
      К допустимым URL-адресам относятся не только ресурсы
      со схемой http://, которая определяет HTTP-протокол,
      поэтому иногда требуется дополнительная проверка, которая определит,
      содержит ли URL-адрес конкретный протокол
      наподобие ssh:// или идентификатор схемы наподобие mailto:.
     
Фильтр проверяет только URL-адреса, которые состоят из ASCII-символов, поэтому отклоняет международные доменные имена (англ. Internationalized Domain Names, IDN).
FILTER_VALIDATE_DOMAIN
    (int)
   defaultFILTER_FLAG_HOSTNAME
       (int)
      FILTER_VALIDATE_EMAIL
    (int)
   addr-spec
     по стандарту
     » RFC 822.
     Фильтр не поддерживает комментарии, свёртывание пробельных символов и домены без точек,
     поэтому отклоняет такие адреса.
    
    defaultFILTER_FLAG_EMAIL_UNICODE
       (int)
      Проверка адреса эл. почты сложна, и единственный надёжный способ подтвердить корректность и доступность адреса — отправить электронное письмо адресату.
FILTER_VALIDATE_IP
    (int)
   Фильтр проверяет значение как IP-адрес.
defaultFILTER_FLAG_IPV4
       (int)
      FILTER_FLAG_IPV6
       (int)
      FILTER_FLAG_NO_RES_RANGE
       (int)
      Reserved-By-Protocol.
       
       
        Зарезервированные IPv4-адреса соответствуют следующим диапазонам:
        0.0.0.0/8, 169.254.0.0/16, 127.0.0.0/8, 240.0.0.0/4.
       
        Зарезервированные IPv6-адреса соответствуют следующим диапазонам:
        ::1/128, ::/128, ::FFFF:0:0/96, FE80::/10.
       
FILTER_FLAG_NO_PRIV_RANGE
       (int)
      
        К частным относятся IPv4-адреса в следующих диапазонах:
        10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
       
FD или FC.
       
      FILTER_FLAG_GLOBAL_RANGE
       (int)
      Global значение True.
        Флаг доступен с PHP 8.2.0.
       
      FILTER_VALIDATE_MAC
    (int)
   defaultFILTER_UNSAFE_RAW
    (int)
   FILTER_FLAG_STRIP_*
     или FILTER_FLAG_ENCODE_*.
    
   FILTER_DEFAULT
    (int)
   FILTER_UNSAFE_RAW.
    
   FILTER_SANITIZE_STRING
    (int)
   FILTER_FLAG_STRIP_*
     или FILTER_FLAG_ENCODE_*.
    
    
     Флаг FILTER_FLAG_NO_ENCODE_QUOTES
     отключает кодирование кавычек.
    
    Фильтр устарел с PHP 8.1.0, вместо него спецсимволы преобразовывают функцией htmlspecialchars().
Фильтр и функция strip_tags() удаляют теги по-разному.
FILTER_SANITIZE_STRIPPED
    (int)
   FILTER_SANITIZE_STRING.
    
    Фильтр устарел с PHP 8.1.0, вместо него спецсимволы преобразовывают функцией htmlspecialchars().
FILTER_SANITIZE_ENCODED
    (int)
   FILTER_FLAG_STRIP_*
     или FILTER_FLAG_ENCODE_*.
    
   FILTER_SANITIZE_SPECIAL_CHARS
    (int)
   
     Фильтр преобразовывает в числовые HTML-сущности символы
     ', ", <, >, &
     и символы с ASCII-кодами меньше 32.
     Фильтр FILTER_SANITIZE_SPECIAL_CHARS игнорирует
     флаг FILTER_FLAG_NO_ENCODE_QUOTES,
     в отличие от фильтра FILTER_SANITIZE_FULL_SPECIAL_CHARS.
    
FILTER_FLAG_STRIP_*,
     и закодирует символы с ASCII-кодами
     больше 127 при установке флага FILTER_FLAG_ENCODE_HIGH.
    
   FILTER_SANITIZE_FULL_SPECIAL_CHARS
    (int)
   ENT_QUOTES.
    
    
     Флаг FILTER_FLAG_NO_ENCODE_QUOTES
     отключает кодирование кавычек.
    
    Аналогично функции htmlspecialchars() фильтр учитывает настройку INI-директивы default_charset. Входная строка отклоняется, и фильтр возвращает пустую строку, если последовательность байтов невозможно декодировать в допустимый символ в текущем наборе символов.
FILTER_SANITIZE_EMAIL
    (int)
   [a-zA-Z],
     цифр, которые совпадают с шаблоном [0-9],
     и спецсимволов
     !#$%&'*+-=?^_`{|}~@.[].
    
   FILTER_SANITIZE_URL
    (int)
   [a-zA-Z],
     цифр, которые совпадают с шаблоном [0-9],
     и спецсимволов
     $-_.+!*'(),{}|\\^~[]`<>#%";/?:@&=.
    
   FILTER_SANITIZE_NUMBER_INT
    (int)
   [0-9], знаков сложения и вычитания:
     + и -.
    
   FILTER_SANITIZE_NUMBER_FLOAT
    (int)
   [0-9], знаков сложения и вычитания:
     + и -.
    
    FILTER_FLAG_ALLOW_FRACTION
       (int)
      .
        как стандартный разделитель целой
        и дробной частей.
       
      FILTER_FLAG_ALLOW_THOUSAND
       (int)
      ,
        как стандартный разделитель тысяч.
       
      FILTER_FLAG_ALLOW_SCIENTIFIC
       (int)
      e и E.
       
      
      Без флага FILTER_FLAG_ALLOW_FRACTION
      фильтр удаляет десятичный разделитель, чем изменяет входное значение.
     
<?php
$number = '12.34';
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT));
var_dump(filter_var($number, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
?>Результат выполнения приведённого примера:
string(4) "1234" string(5) "12.34"
FILTER_SANITIZE_ADD_SLASHES
    (int)
   FILTER_SANITIZE_MAGIC_QUOTES
    (int)
   FILTER_SANITIZE_ADD_SLASHES.
    
    Фильтр УСТАРЕЛ с PHP 7.3.0, а с PHP 8.0.0 фильтр УДАЛИЛИ.
FILTER_CALLBACK
    (int)
   options как значение, связанное
     с ключом 'options'.
    
    Сигнатура callback-функции:
valueЗамечание: Значение возврата callback-функции вернётся как значение возврата из функции фильтрации.
Пример #1 
      Пример проверки имени пользователя фильтром FILTER_CALLBACK
     
<?php
function validate_login(string $value): ?string
{
    if (strlen($value) >= 5 && ctype_alnum($value)) {
        return $value;
    }
    return null;
}
$login = "val1dL0gin";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
$login = "f&ke login";
$filtered_login = filter_var($login, FILTER_CALLBACK, ['options' => 'validate_login']);
var_dump($filtered_login);
?>Результат выполнения приведённого примера:
string(10) "val1dL0gin" NULL
      Фильтр нельзя комбинировать с флагами,
      включая флаг FILTER_NULL_ON_FAILURE.
     
Note: FILTER_NULL_ON_FAILURE, FILTER_REQUIRE_SCALAR, FILTER_REQUIRE_ARRAY and FILTER_FORCE_ARRAY dont have prefix "FILTER_FLAG_" but they are FLAGS!