PHPのFILTER_SANITIZE_EMAIL定数とは?使い方とサンプルコードを解説
FILTER_SANITIZE_EMAIL定数は、PHPでメールアドレスをサニタイズ(無害化)するために使用されるフィルター定数の一つです。この定数をfilter_var()関数と組み合わせることで、メールアドレスに含まれる不正な文字(英数字および一部の記号以外)をすべて削除できます。
主な特徴
FILTER_SANITIZE_EMAILは、以下の文字以外を対象の文字列から取り除きます。
- 英字(a〜z、A〜Z)
- 数字(0〜9)
- 記号:! # $ % & ' * + - = ? ^ _ ` { | } ~ @ . [ ]
戻り値について
FILTER_SANITIZE_EMAIL定数自体は、フィルターの種類を示す識別子であり、単体では何も返しません。実際のサニタイズ処理は、この定数を第2引数としてfilter_var()関数に渡すことで実行され、処理結果の文字列が返されます。
サンプルコード
次の例では、不正な文字(スラッシュ「//」)を含むメールアドレスをサニタイズしています。
<?php
$myemail = "abc@demo//.com";
$myemail = filter_var($myemail, FILTER_SANITIZE_EMAIL);
echo $myemail;
?>
実行結果
上記のコードを実行すると、不正な文字が削除され、以下のように出力されます。
abc@demo.com
このように、ユーザー入力など外部から受け取ったメールアドレスを検証・整形する際に、FILTER_SANITIZE_EMAILは非常に便利です。ただし、文字列の整形のみを行うため、実際に有効なメールアドレス形式かどうかの確認には、FILTER_VALIDATE_EMAILとの併用が推奨されます。
-
PHPのFILTER_VALIDATE_EMAIL定数とは?メールアドレスの妥当性を検証する方法
概要FILTER_VALIDATE_EMAILは、PHPのfilter拡張機能で提供されている定数の一つで、指定された値が有効なメールアドレスの形式に合致しているかどうかを検証するために使用します。この定数は単体では動作せず、filter_var()関数と組み合わせて利用するのが一般的です。戻り値FILTER_VALIDATE_EMAIL自体はフィルターIDを表す定数であるため、それ自身は何も値を返しません。実際の検証結果は、この定数を第2引数に渡したfilter_var()関数が返します。検証に成功した場合はメールアドレスの値そのものが返され、失敗した場合はfalseが返されます。使用例以下
-
PHPのFILTER_VALIDATE_BOOLEAN定数とは?使い方と戻り値をわかりやすく解説
PHPには、外部からの入力値を安全に検証するためのフィルター関数が多数用意されています。その中でもFILTER_VALIDATE_BOOLEANは、渡された値をブール値(真偽値)として評価するための定数です。filter_var()関数と組み合わせて使用することで、文字列が「真」を表す値なのか「偽」を表す値なのかを簡単に判定できます。 基本的な使い方 FILTER_VALIDATE_BOOLEANは、filter_var()関数の第2引数に指定して使用します。 <?php $var = on; var_dump(filter_var($var, FILTER_VALID