## Filter flags

List of filter flags
ID | Used with | Description
--- | --- | ---
`FILTER_FLAG_STRIP_LOW` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_UNSAFE_RAW` | Strips characters that have a numerical value <32.
`FILTER_FLAG_STRIP_HIGH` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_UNSAFE_RAW` | Strips characters that have a numerical value >127.
`FILTER_FLAG_STRIP_BACKTICK` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_UNSAFE_RAW` | Strips backtick characters.
`FILTER_FLAG_ALLOW_FRACTION` | `FILTER_SANITIZE_NUMBER_FLOAT` | Allows a period (`.`) as a fractional separator in numbers.
`FILTER_FLAG_ALLOW_THOUSAND` | `FILTER_SANITIZE_NUMBER_FLOAT`, `FILTER_VALIDATE_FLOAT` | Allows a comma (`,`) as a thousands separator in numbers.
`FILTER_FLAG_ALLOW_SCIENTIFIC` | `FILTER_SANITIZE_NUMBER_FLOAT` | Allows an `e` or `E` for scientific notation in numbers.
`FILTER_FLAG_NO_ENCODE_QUOTES` | `FILTER_SANITIZE_STRING` | If this flag is present, single (`'`) and double (`"`) quotes will not be encoded.
`FILTER_FLAG_ENCODE_LOW` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_STRING`, `FILTER_SANITIZE_RAW` | Encodes all characters with a numerical value <32.
`FILTER_FLAG_ENCODE_HIGH` | `FILTER_SANITIZE_ENCODED`, `FILTER_SANITIZE_SPECIAL_CHARS`, `FILTER_SANITIZE_STRING`, `FILTER_SANITIZE_RAW` | Encodes all characters with a numerical value >127.
`FILTER_FLAG_ENCODE_AMP` | `FILTER_SANITIZE_STRING`, `FILTER_SANITIZE_RAW` | Encodes ampersands (`&`).
`FILTER_NULL_ON_FAILURE` | `FILTER_VALIDATE_BOOLEAN` | Returns `NULL` for unrecognized boolean values.
`FILTER_FLAG_ALLOW_OCTAL` | `FILTER_VALIDATE_INT` | Regards inputs starting with a zero (`0`) as octal numbers. This only allows the succeeding digits to be `0-7`.
`FILTER_FLAG_ALLOW_HEX` | `FILTER_VALIDATE_INT` | Regards inputs starting with `0x` or `0X` as hexadecimal numbers. This only allows succeeding characters to be `a-fA-F0-9`.
`FILTER_FLAG_EMAIL_UNICODE` | `FILTER_VALIDATE_EMAIL` | Allows the local part of the email address to contain Unicode characters.
`FILTER_FLAG_IPV4` | `FILTER_VALIDATE_IP` | Allows the IP address to be in IPv4 format.
`FILTER_FLAG_IPV6` | `FILTER_VALIDATE_IP` | Allows the IP address to be in IPv6 format.
`FILTER_FLAG_NO_PRIV_RANGE` | `FILTER_VALIDATE_IP` | Fails validation for the following private IPv4 ranges: `10.0.0.0/8`, `172.16.0.0/12` and `192.168.0.0/16`. Fails validation for the IPv6 addresses starting with `FD` or `FC`.
`FILTER_FLAG_NO_RES_RANGE` | `FILTER_VALIDATE_IP` | Fails validation for the following reserved IPv4 ranges: `0.0.0.0/8`, `169.254.0.0/16`, `127.0.0.0/8` and `240.0.0.0/4`. Fails validation for the following reserved IPv6 ranges: `::1/128`, `::/128`, `::ffff:0:0/96` and `fe80::/10`.
`FILTER_FLAG_SCHEME_REQUIRED` | `FILTER_VALIDATE_URL` | Requires the URL to contain a scheme part.
`FILTER_FLAG_HOST_REQUIRED` | `FILTER_VALIDATE_URL` | Requires the URL to contain a host part.
`FILTER_FLAG_PATH_REQUIRED` | `FILTER_VALIDATE_URL` | Requires the URL to contain a path part.
`FILTER_FLAG_QUERY_REQUIRED` | `FILTER_VALIDATE_URL` | Requires the URL to contain a query string.
`FILTER_REQUIRE_SCALAR` |  | Requires the value to be scalar.
`FILTER_REQUIRE_ARRAY` |  | Requires the value to be an array.
`FILTER_FORCE_ARRAY` |  | If the value is a scalar, it is treated as array with the scalar value as only element.

### Changelog

Version | Description
--- | ---
7.3.0 | The explicit usage of `FILTER_FLAG_SCHEME_REQUIRED` and `FILTER_FLAG_HOST_REQUIRED` has been deprecated.
7.1.0 | `FILTER_FLAG_EMAIL_UNICODE` has been added.
5.3.2 | `FILTER_FLAG_STRIP_BACKTICK` has been added.
5.2.10 | `FILTER_FLAG_NO_RES_RANGE` supports also IPv6 addresses.