Advanced Filters for Beginners to PHP
Detect whether a number is within a range
The following example uses the filter_var() function to detect whether an INT type variable is within 1 to 200 :
<?php header("Content-type: text/html; charset=utf-8");//設(shè)置編碼 $int = 122; $min = 1; $max = 200; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("變量值不在合法范圍內(nèi)"); } else { echo("變量值在合法范圍內(nèi)"); } ?>
Detect IPv6 address
The following example uses the filter_var() function to detect whether a $ip variable is an IPv6 address:
<?php header("Content-type: text/html; charset=utf-8");//設(shè)置編碼 $ip = "2001:0db8:85a3:08d3:1319:8a2e:0370:7334"; if (!filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6) === false) { echo("$ip 是一個(gè) IPv6 地址"); } else { echo("$ip 不是一個(gè) IPv6 地址"); } ?>
Detect URL - must contain QUERY_STRING (query string)
The following example uses the filter_var() function to detect whether $url contains query characters String:
<?php header("Content-type: text/html; charset=utf-8");//設(shè)置編碼 $url = "http://www.baidu11.com.cn"; if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { echo("$url 是一個(gè)合法的 URL"); } else { echo("$url 不是一個(gè)合法的 URL"); } ?>
Remove characters with ASCII values ??greater than 127
The following example uses the filter_var() function to remove ASCII from the string Characters with a value greater than 127, it can also remove HTML tags:
<?php $str = "<h1>Hello World???!</h1>"; $newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); echo $newstr; ?>