filter_inputのフィルタでよく使うもの

filter_inputのフィルタでよく使うもの

filter_inputのフィルタは、すぐに忘れてしまうので、個人的によく使用するものをここにまとめておきます。

検証フィルタ

フィルタ内容
FILTER_VALIDATE_INTint型
FILTER_VALIDATE_FLOATfloat型
FILTER_VALIDATE_BOOLEANbool型
FILTER_VALIDATE_URLurl
FILTER_VALIDATE_EMAILEmail

正規表現

$foo = filter_input(INPUT_POST, 'foo', FILTER_VALIDATE_REGEXP, array('options'=> array('regexp' => '/^[abcdef]$/')));
正規表現内容
/^0\d{1,4}-\d{1,4}-\d{3,4}$/電話番号
/^\d{3}\-\d{4}$/郵便番号
/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/日付(YYYY-MM-DD)

除去フィルタ

フィルタ内容
FILTER_SANITIZE_NUMBER_INT数字、プラス記号、マイナス記号 以外除去
FILTER_SANITIZE_NUMBER_FLOAT数字、± および オプションで .,eE 以外除去
FILTER_SANITIZE_ENCODEDURL エンコード
FILTER_SANITIZE_SPECIAL_CHARSHTML エスケープ
FILTER_SANITIZE_STRINGタグの除去

配列の取得

$arr = filter_input(INPUT_POST, 'arr', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);