PHP 高度なフィルター
filterを使用して、數(shù)値が範(fàn)囲內(nèi)にあるかどうかを検出します
次の例では、filter_var()関數(shù)を使用して、INT型変數(shù)が1から200の範(fàn)囲內(nèi)にあるかどうかを検出します:
<?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("變量值不在合法范圍內(nèi)"); } else { echo("變量值在合法范圍內(nèi)"); } ?>
プログラムの動(dòng)作結(jié)果:
変數(shù)値が正當(dāng)な範(fàn)囲內(nèi)です
IPv6アドレスを検出
★ FILTER_VALIDATE_IP フィルターは値を IP として検証します。次の例では、filter_var()関數(shù)を使用して$ IP変數(shù)がIPv6アドレスであるかどうかを検出します。 08d3: 1319:8a2e:0370:7334 は IPv6 アドレスです
検出 URL - QUERY_STRING (クエリ文字列) を含む必要があります
QUERY_STRING文字通り、一般的な URL Web アドレス xxx などのクエリ文字列を意味します。 asp?pn=123456 ? 數(shù)字に続くのはクエリ文字列です
次の例では、filter_var() 関數(shù)を使用して、$url にクエリ文字列が含まれているかどうかを検出します。 baidu.com は合法的な URL ではありません上記の例では、URL URL に QUERY_STRING が含まれていないため、実行結(jié)果は否定的な答えになります
127 を超える ASCII 値を持つ文字を削除してください
★
FILTER_SANITIZE_STRING
フィルターは、不要な文字を削除またはエンコードします。次の例では、filter_var() 関數(shù)を使用して、文字列內(nèi)の 127 より大きい ASCII 値を持つ文字を削除します。また、HTML タグも削除できます。
<?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 是一個(gè) IPv6 地址"); } else { echo("$ip 不是一個(gè) IPv6 地址"); } ?>プログラムの実行結(jié)果:
Hello World!
PHP フィルター リファレンス マニュアル
このサイトの PHP フィルター リファレンス マニュアルにアクセスして、フィルターの特定のアプリケーションを表示することもできます。
リファレンスマニュアルにはフィルターパラメーターの簡(jiǎn)単な説明と使用例が含まれています。