除去

例1 メールアドレスの検証、および不正な部分の除去

<?php
$a = 'joe@example.org';
$b = 'bogus - at - example dot org';
$c = '(bogus@example.org)';

$sanitized_a = filter_var($a, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_a, FILTER_VALIDATE_EMAIL)) {
    echo "処理済の (a) はメールアドレスとして有効です。\n";
}

$sanitized_b = filter_var($b, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_b, FILTER_VALIDATE_EMAIL)) {
    echo "処理済のメールアドレスは有効です。";
} else {
    echo "処理済の (b) はメールアドレスとして無効です。\n";
}

$sanitized_c = filter_var($c, FILTER_SANITIZE_EMAIL);
if (filter_var($sanitized_c, FILTER_VALIDATE_EMAIL)) {
    echo "処理済の (c) はメールアドレスとして有効です。\n";
    echo "処理前: $c\n";
    echo "処理後:  $sanitized_c\n";
}
?>

上の例の出力は以下となります。

処理済の (a) はメールアドレスとして有効です。
処理済の (b) はメールアドレスとして無効です。
処理済の (c) はメールアドレスとして有効です。
処理前: (bogus@example.org)
処理後: bogus@example.org

例2 デフォルトのフィルタの設定

filter.default = full_special_chars
filter.default_flags = 0