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("変数の値が有効な範囲内にあります");
}
?>
$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 アドレスではありません");
}
$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.example.com";
if (!filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED) === false) {
echo("$url" は有効な URL です");
} else {
echo("$url" は有効な URL ではありません");
}
?>
$url = "http://www.example.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;
?>
$str = "<h1>Hello WorldÆØÅ!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
echo $newstr;
?>
試してみる »
PHP フィルタリファレンスマニュアル
また、当サイトのPHP フィルタリファレンスマニュアルにアクセスして、フィルタの具体的な応用を確認できます。
リファレンスマニュアルには、フィルタパラメータの簡単な説明と使用例が含まれています!
その他の拡張