PHP開發基礎教學進階過濾器

一、偵測一個數字是否在一個範圍內

以下實例使用了filter_var() 函數來偵測一個INT 型的變數是否在1 到200 內:

程式碼如下

<?php
$int = 134;
$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 - 必須包含QUERY_STRING(查詢字串)

以下實例使用了filter_var() 函數來偵測$url 是否包含查詢字串:

#程式碼如下

<?php
$url = "http://www.php.cn";

if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
    echo("$url 是一个合法的 URL");
} else {
    echo("$url 不是一个合法的 URL");
}
?>

輸出結果見右圖

四、移除ASCII 值大於127 的字元


##。除ASCII 值大於127 的字元

###程式碼如下###
<?php
$str = "<h1>Hello WorldÆØÅ!</h1>";

$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>
###輸出結果見右圖#########註:更多PHP 濾鏡的應用請查看PHP手冊# ######## #############
繼續學習
||
<?php $int = 134; $min = 1; $max = 200; if (filter_var($int, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$min, "max_range"=>$max))) === false) { echo("变量值不在合法范围内"); } else { echo("变量值在合法范围内"); } ?>