PHP 过滤器进阶

验证范围内的整数

下面的例子使用 filter_var() 函数来检查变量是否为 INT 类型,并且是否在 1 到 200 之间:

实例

<?php
$int = 122;
$min = 1;
$max = 200;

if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) {
  echo("变量值不在合法范围内");
} else {
  echo("变量值在合法范围内");
}
?>

亲自试一试

验证 IPv6 地址

下面的例子使用 filter_var() 函数来检查变量 $ip 是否为有效的 IPv6 地址:

实例

<?php
$ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334";

if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) {
  echo("$ip 是一个有效的 IPv6 地址");
} else {
  echo("$ip 不是一个有效的 IPv6 地址");
}
?>

亲自试一试

验证 URL - 必须包含查询字符串

下面的例子使用 filter_var() 函数来检查变量 $url 是否为带有查询字符串的 URL:

实例

<?php
$url = "https://www.w3school.com.cn";

if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
  echo("$url 是一个带有查询字符串的有效 URL");
} else {
  echo("$url 不是一个带有查询字符串的有效 URL");
}
?>

亲自试一试

移除 ASCII 值大于 127 的字符

下面的例子使用 filter_var() 函数来清理字符串。它将从字符串中移除所有 HTML 标签和 ASCII 值大于 127 的所有字符:

实例

<?php
$str = "<h1>Hello WorldÆØÅ!</h1>";

$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>

亲自试一试

完整的 PHP 过滤器参考手册

如需了解所有过滤器函数的完整参考,请转到我们的完整 PHP 过滤器参考。请检查每个过滤器以查看可用的选项和标志。

该参考手册包含每个函数的简短描述和用法实例!