PHP開發(fā)基礎(chǔ)教程之高級(jí)過(guò)濾器
一、檢測(cè)一個(gè)數(shù)字是否在一個(gè)范圍內(nèi)
以下實(shí)例使用了 filter_var() 函數(shù)來(lái)檢測(cè)一個(gè) INT 型的變量是否在 1 到 200 內(nèi):
代碼如下
<?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("變量值不在合法范圍內(nèi)"); } else { echo("變量值在合法范圍內(nèi)"); } ?>
輸出見右圖
二、檢測(cè) IPv6 地址
以下實(shí)例使用了 filter_var() 函數(shù)來(lái)檢測(cè)一個(gè) $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 是一個(gè) IPv6 地址"); } else { echo("$ip 不是一個(gè) IPv6 地址"); } ?>
輸出見右圖
三、檢測(cè) URL - 必須包含QUERY_STRING(查詢字符串)
以下實(shí)例使用了 filter_var() 函數(shù)來(lái)檢測(cè) $url 是否包含查詢字符串:
代碼如下
<?php $url = "http://miracleart.cn"; if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { echo("$url 是一個(gè)合法的 URL"); } else { echo("$url 不是一個(gè)合法的 URL"); } ?>
輸出結(jié)果見右圖
四、移除 ASCII 值大于 127 的字符
移除 ASCII 值大于 127 的字符
代碼如下
<?php $str = "<h1>Hello World???!</h1>"; $newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); echo $newstr; ?>
輸出結(jié)果見右圖
注:更多PHP 過(guò)濾器的應(yīng)用請(qǐng)查看PHP手冊(cè)
?