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_UNSAFE_RAW Encodes all characters with a numerical value <32.
FILTER_FLAG_ENCODE_HIGH FILTER_SANITIZE_ENCODED, FILTER_SANITIZE_SPECIAL_CHARS, FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW Encodes all characters with a numerical value >127.
FILTER_FLAG_ENCODE_AMP FILTER_SANITIZE_STRING, FILTER_UNSAFE_RAW Encodes ampersands (&).
FILTER_NULL_ON_FAILURE any FILTER_VALIDATE_* Returns null for unrecognized 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.

These are the ranges that are marked as Reserved-By-Protocol in » RFC 6890.

FILTER_FLAG_GLOBAL_RANGE FILTER_VALIDATE_IP

Fails validation for non global IPv4/IPv6 ranges as found in » RFC 6890 with the Global attribute being False.

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 given will be applied to each scalar entry of the 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
8.2.0 FILTER_FLAG_GLOBAL_RANGE as a flag to FILTER_VALIDATE_IP has been added.
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.