(PHP 5 >= 5.2.0)
filter_var — 指定したフィルタでデータをフィルタリングする
フィルタリングする値。
適用するフィルタの ID。Types of filters に、利用できるフィルタの一覧があります。
オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。 "callback" フィルタの場合は、callback 型を渡さなければなりません。 コールバックは、フィルタリングする値を引数として受け取り、 処理後の値を返すようにしなければなりません。
<?php
// オプションを許可するフィルタは、このような形式となります
$options = array(
'options' => array(
'default' => 3, // フィルタが失敗した場合に返す値
// その他のオプションをここに書きます
'min_range' => 0
),
'flags' => FILTER_FLAG_ALLOW_OCTAL,
);
$var = filter_var('0755', FILTER_VALIDATE_INT, $options);
// フラグのみを許可するフィルタは、それを直接記述します
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
// フラグのみを許可するフィルタは、配列として渡すこともできます
$var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
array('flags' => FILTER_NULL_ON_FAILURE));
// コールバックフィルタ
function foo($value)
{
$ret = new stdClass;
$ret->value = filter_var($value, FILTER_VALIDATE_BOOLEAN,
array('flags' => FILTER_NULL_ON_FAILURE));
return $ret;
}
$var = filter_var('yes', FILTER_CALLBACK, array('options' => 'foo'));
?>
フィルタリングされたデータ、あるいは処理に失敗した場合に FALSE を返します。
例1 filter_var() の例
<?php
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));
?>
上の例の出力は以下となります。
string(15) "bob@example.com" bool(false)