PHP 高階過濾器

檢測一個數字是否在一個範圍內

以下例項使用了 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("變數值在合法範圍內");
}
?>

嘗試一下 ?

檢測 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.itread01.com";

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

嘗試一下 ?

移除 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 過濾器參考手冊

你也可以通過訪問本站的 PHP 過濾器參考手冊 來檢視過濾器的具體應用。

參考手冊中包含了過濾器引數的簡要說明和使用例子!