filter_inputのフィルタは、すぐに忘れてしまうので、個人的によく使用するものをここにまとめておきます。
検証フィルタ
フィルタ | 内容 |
---|
FILTER_VALIDATE_INT | int型 |
FILTER_VALIDATE_FLOAT | float型 |
FILTER_VALIDATE_BOOLEAN | bool型 |
FILTER_VALIDATE_URL | url |
FILTER_VALIDATE_EMAIL | Email |
正規表現
$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_ENCODED | URL エンコード |
FILTER_SANITIZE_SPECIAL_CHARS | HTML エスケープ |
FILTER_SANITIZE_STRING | タグの除去 |
配列の取得
$arr = filter_input(INPUT_POST, 'arr', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);