PHP 高级过滤器 - filter_var

PHP 提供了 filter_var 函数可以做一些更高级的判断和过滤

检测一个数字是否在一个范围内

下面的范例使用 filter_var() 函数来检测一个 INT 型的变量是否在 1 到 200 内:

<?php

$int = 122;
$min = 1;
$max = 200;

$options = array(
    'options' => array(
        "min_range" => $min,
        "max_range" => $max
    )
);


if (false === filter_var($int,FILTER_VALIDATE_INT,$options))
{
    echo '变量值不在合法范围内';

} else {

    echo '变量值在合法范围内';
}

echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

运行范例 »

运行以上范例,输出结果如下

检测 IPv6 地址

下面的范例使用 filter_var() 函数来检测一个 $ip 变量是否是 IPv6 地址

<?php

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

if (false !== filter_var($ip,FILTER_VALIDATE_IP, FILTER_FLAG_IPV6))
{
    echo "$ip 是一个 IPv6 地址";

} else {

    echo "$ip 不是一个 IPv6 地址";
}

echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

运行范例 »

运行以上范例,输出结果如下

检测 URL - 必须包含 QUERY_STRING(查询字符串)

下面的范例使用 filter_var() 函数来检测 $url 是否包含查询字符串

<?php

$url = "http://www.twle.cn";

if (false !== filter_var($url,FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
    echo "$url 是一个合法的带 Query 的 URL";

} else {
    echo "$url 不是一个合法的 Query 的 URL";
}

echo '<br/><br/>';

$url = "http://www.twle.cn/?name=twle";

if (false !== filter_var($url,FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
    echo "$url 是一个合法的带 Query 的 URL";

} else {
    echo "$url 不是一个合法的 Query 的 URL";
}


echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

运行范例 »

运行以上范例,输出结果如下

移除 ASCII 值大于 127 的字符

下面的范例使用 filter_var() 函数来移除字符串中 ASCII 值大于 127 的字符,同样它也能移除 HTML 标签

<?php

$str    = "<h1>Hello WorldÆØÅ!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);

echo $newstr;

echo '<p>PHP 基础教程 - 简单教程(www.twle.cn)</p>';

运行范例 »

运行以上范例,输出结果如下

PHP 过滤器参考手册

如果你想了解更多的 PHP 过滤器知识,可以访问我们的 PHP 过滤器参考手册

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.