预定义常量

最后更新于:2022-04-02 02:27:44

[TOC] ## INPUT 常量 ``` INPUT_POST INPUT_GET INPUT_COOKIE INPUT_ENV INPUT_SERVER ``` ## FILTER 标量 ``` FILTER_REQUIRE_SCALAR 此标记要求输入的是标量 FILTER_REQUIRE_ARRAY 需要输入的是数组 FILTER_FORCE_ARRAY 一律返回数组 // 验证 FILTER_VALIDATE_INT FILTER_VALIDATE_BOOLEAN FILTER_VALIDATE_FLOAT FILTER_VALIDATE_REGEXP FILTER_VALIDATE_URL FILTER_VALIDATE_EMAIL FILTER_VALIDATE_IP FILTER_VALIDATE_MAC FILTER_DEFAULT 标记默认的 "unsafe_raw" 过滤器。 //把数据转义为对应类型 FILTER_SANITIZE_STRING FILTER_SANITIZE_STRIPPED FILTER_SANITIZE_ENCODED FILTER_SANITIZE_SPECIAL_CHARS FILTER_SANITIZE_EMAIL FILTER_SANITIZE_URL FILTER_SANITIZE_NUMBER_INT FILTER_SANITIZE_NUMBER_FLOAT FILTER_SANITIZE_MAGIC_QUOTES FILTER_CALLBACK 标记 "callback" 过滤器 // 用户 options 的 flags 键 FILTER_NULL_ON_FAILURE 失败时返回 NULL,而非 FALSE FILTER_FLAG_ALLOW_OCTAL "int" 过滤器允许八进制(octal)标记的字符(0[0-7]+) FILTER_FLAG_ALLOW_HEX "int" 过滤器允许十六进制(Hex)标记的字符(0x[0-9a-fA-F]+ FILTER_FLAG_STRIP_LOW 过滤 ASCII 编码值大于 32 的字符 FILTER_FLAG_STRIP_HIGH 过滤 ASCII 编码值大于 127 的字符 FILTER_FLAG_ENCODE_LOW 字符的 ASCII 编码值大于 32 FILTER_FLAG_ENCODE_HIGH 字符的 ASCII 编码值大于 127 FILTER_FLAG_ENCODE_AMP 为 & 编码 FILTER_FLAG_NO_ENCODE_QUOTES 不要为 ' 和 " 编码 FILTER_FLAG_EMPTY_STRING_NULL (目前不能使用。 FILTER_FLAG_ALLOW_FRACTION "number_float" 过滤器允许小数部分 FILTER_FLAG_ALLOW_THOUSAND "number_float" 过滤器允许使用千分位分隔符(,) FILTER_FLAG_ALLOW_SCIENTIFIC "number_float" 过滤器允许使用科学计数法(e、E) FILTER_FLAG_PATH_REQUIRED "validate_url" 过滤器,要求带路径部分 FILTER_FLAG_QUERY_REQUIRED "validate_url" 过滤器,要求带 Query 部分 FILTER_FLAG_IPV4 "validate_ip" 过滤器,仅仅允许 IPv4 地址 FILTER_FLAG_IPV6 "validate_ip" 过滤器,仅仅允许 IPv6 地址 FILTER_FLAG_NO_RES_RANGE "validate_ip" 过滤器,禁止保留 IP 地址 FILTER_FLAG_NO_PRIV_RANGE "validate_ip" 过滤器,禁止私有 IP 地址 FILTER_FLAG_EMAIL_UNICODE "validate_email" 过滤器,在邮件地址用户名部分允许 Unicode 字符。 (PHP 7.1.0 起有效) ``` ## FILTER_SANITIZE_xxx 用于对字符进行消毒 如 对email 进行消毒 ``` $a = '(bogus@example.org) '; // 对 $a 虑空 $sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL); // output: joe@example.org // 在进行比较 if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) { echo "Yes"; }else{ echo "No"; } ```
';