• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 位置: php 中文手册 -> php 内置函数

    php 过滤函数

    运行时配置

    这些函数的行为受 php.ini中的设置影响。

    Filter Configuration Options
    名字默认可修改范围更新日志
    filter.default"unsafe_raw"PHP_INI_PERDIRPHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.
    filter.default_flagsNULLPHP_INI_PERDIRPHP_INI_ALL in filter <= 0.9.4. Available since PHP 5.2.0.

    有关 PHP_INI_*样式的更多详情与定义,见配置可被设定范围。这是配置指令的简短说明。

    • filter.default (string):过滤全部的$_GET$_POST$_COOKIE$_REQUEST$_SERVER数据。原始数据可以通过filter_input()。默认情况下接受要使用的筛选器的名称。
    • filter.default_flags (integer):设置默认筛选器时应用的默认标志。出于向后兼容的原因,默认情况下,此值设置为FILTER_FLAG_NO_ENCODE_QUOTES

    Note:

    注意默认过滤器的默认标志。您应该显式地将它们设置为所需的值。例如,要将默认筛选器配置为与htmlspecialchars()完全相同的行为,需要将它们的默认标志设置为0,如下所示

    Configuring the default filter to act like htmlspecialchars
    filter.default = full_special_chars
    filter.default_flags = 0

    预定义常量

    下列常量由此扩展定义,且仅在此扩展编译入 PHP 或在运行时动态载入时可用。

    • INPUT_POST (integer):POST 变量。
    • INPUT_GET (integer):GET 变量。
    • INPUT_COOKIE (integer):COOKIE 变量。
    • INPUT_ENV (integer):ENV 变量。
    • INPUT_SERVER (integer):SERVER 变量。
    • INPUT_SESSION (integer):SESSION 变量。(暂未实现)
    • INPUT_REQUEST (integer):REQUEST 变量。(暂未实现)
    • FILTER_FLAG_NONE (integer):没有标记。
    • FILTER_REQUIRE_SCALAR (integer):此标记要求输入的是标量。
    • FILTER_REQUIRE_ARRAY (integer):需要输入的是数组。
    • FILTER_FORCE_ARRAY (integer):一律返回数组。
    • FILTER_NULL_ON_FAILURE (integer):失败时返回 NULL,而非 FALSE。
    • FILTER_VALIDATE_INT (integer):标记"int"过滤器。
    • FILTER_VALIDATE_BOOLEAN (integer):标记"boolean"过滤器。
    • FILTER_VALIDATE_FLOAT (integer):标记"float"过滤器。
    • FILTER_VALIDATE_REGEXP (integer):标记"validate_regexp"过滤器。
    • FILTER_VALIDATE_URL (integer):标记"validate_url"过滤器。
    • FILTER_VALIDATE_EMAIL (integer):标记"validate_email"过滤器。
    • FILTER_VALIDATE_IP (integer):标记"validate_ip"过滤器。
    • FILTER_VALIDATE_MAC (integer):标记"validate_mac_address"过滤器。(PHP 5.5.0 起有效)
    • FILTER_DEFAULT (integer):标记默认的"unsafe_raw"过滤器。等同于 FILTER_UNSAFE_RAW 。
    • FILTER_UNSAFE_RAW (integer):标记"unsafe_raw"过滤器。
    • FILTER_SANITIZE_STRING (integer):标记"string"过滤器。
    • FILTER_SANITIZE_STRIPPED (integer):标记"stripped"过滤器。
    • FILTER_SANITIZE_ENCODED (integer):标记"encoded"过滤器。
    • FILTER_SANITIZE_SPECIAL_CHARS (integer):标记"special_chars"过滤器。
    • FILTER_SANITIZE_EMAIL (integer):标记"email"过滤器。
    • FILTER_SANITIZE_URL (integer):标记"url"过滤器。
    • FILTER_SANITIZE_NUMBER_INT (integer):标记"number_int"过滤器。
    • FILTER_SANITIZE_NUMBER_FLOAT (integer):标记"number_float"过滤器。
    • FILTER_SANITIZE_MAGIC_QUOTES (integer):标记"magic_quotes"过滤器。
    • FILTER_CALLBACK (integer):标记"callback"过滤器。
    • FILTER_FLAG_ALLOW_OCTAL (integer):"int"过滤器允许八进制(octal)标记的字符(0[0-7]+)。
    • FILTER_FLAG_ALLOW_HEX (integer):"int"过滤器允许十六进制(Hex)标记的字符(0x[0-9a-fA-F]+
    • FILTER_FLAG_STRIP_LOW (integer):过滤 ASCII 编码值大于 32 的字符。
    • FILTER_FLAG_STRIP_HIGH (integer):过滤 ASCII 编码值大于 127 的字符。
    • FILTER_FLAG_ENCODE_LOW (integer):字符的 ASCII 编码值大于 32。
    • FILTER_FLAG_ENCODE_HIGH (integer):字符的 ASCII 编码值大于 127。
    • FILTER_FLAG_ENCODE_AMP (integer):为&编码。
    • FILTER_FLAG_NO_ENCODE_QUOTES (integer):不要为'"编码。
    • FILTER_FLAG_EMPTY_STRING_NULL (integer):(目前不能使用。)
    • FILTER_FLAG_ALLOW_FRACTION (integer):"number_float"过滤器允许小数部分。
    • FILTER_FLAG_ALLOW_THOUSAND (integer):"number_float"过滤器允许使用千分位分隔符(,)。
    • FILTER_FLAG_ALLOW_SCIENTIFIC (integer):"number_float"过滤器允许使用科学计数法(eE)。
    • FILTER_FLAG_PATH_REQUIRED (integer):"validate_url"过滤器,要求带路径部分。
    • FILTER_FLAG_QUERY_REQUIRED (integer):"validate_url"过滤器,要求带 Query 部分。
    • FILTER_FLAG_IPV4 (integer):"validate_ip"过滤器,仅仅允许 IPv4 地址。
    • FILTER_FLAG_IPV6 (integer):"validate_ip"过滤器,仅仅允许 IPv6 地址。
    • FILTER_FLAG_NO_RES_RANGE (integer):"validate_ip"过滤器,禁止保留 IP 地址。
    • FILTER_FLAG_NO_PRIV_RANGE (integer):"validate_ip"过滤器,禁止私有 IP 地址。
    • FILTER_FLAG_EMAIL_UNICODE (integer):"validate_email"过滤器,在邮件地址用户名部分允许 Unicode 字符。(PHP 7.1.0 起有效)