PHP 高级过滤器

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

以下范例使用了 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("变量值在合法范围内");
}
?>

2. 检测 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 地址");
}
?>

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

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

<?php$url = "http://www.aizws.net";
if (!filter_var($url, 
	FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {    
	echo("$url 是一个合法的 URL");} else {    echo("$url 不是一个合法的 URL");
}
?>

4. 移除 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;
?>

下一章:PHP JSON

我们可以使用 PHP 语言来编码和解码 JSON 对象。1. 环境配置:在 php5.2.0 及以上版本已经内置 JSON 扩展。2. JSON 函数:json_encode 对变量进行 JSON 编码;json_decode 对 JSON 格式的字符串进行解码,转换为 PHP 变量 。json_last_error:返回最后发生的错误。