PHP 初心者向けの高度なフィルター
数値が範囲内にあるかどうかを検出します
次の例では、filter_var() 関数を使用して、INT 型変数が 1 ~ 200 の範囲内にあるかどうかを検出します。この例では、filter_var() 関数を使用して、$ip 変数が IPv6 アドレスであるかどうかを検出します。
<?php header("Content-type: text/html; charset=utf-8");//设置编码 $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("变量值在合法范围内"); } ?>
URL を検出 - QUERY_STRING (クエリ文字列) が含まれている必要があります
次の例では、filter_var() 関数を使用して検出します$url クエリ文字列を含めるかどうか:
<?php header("Content-type: text/html; charset=utf-8");//设置编码 $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 地址"); } ?>
127 を超える ASCII 値を持つ文字を削除します
次の例では、filter_var() 関数を使用して、文字列内の ASCII 値が 127 を超える文字を削除できます。 HTML タグも削除されます:
<?php header("Content-type: text/html; charset=utf-8");//设置编码 $url = "http://www.baidu11.com.cn"; if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) { echo("$url 是一个合法的 URL"); } else { echo("$url 不是一个合法的 URL"); } ?>