sanitize_email

説明

string sanitize_email( string $email )
メールアドレスとして無効な文字を除外する。

パラメータ

  • $email
    メールアドレスを指定。

返り値

無効な文字を除外したメールアドレスを返す。無効な書式の場合は''を返す。


注意

本関数はプラグインやテーマで使用できるほか、標準で'pre_comment_author_email'、 'pre_user_email'、 'comment_author_email'、 'user_email'フィルターとして登録されている。

メールアドレスとして無効な文字を除外する前に書式のチェックが行われ、エラーが見つかった場合はその内容を示すメッセージを含めた'sanitize_email'フィルターを呼び出す。

$messageの内容意味
'email_too_short'$emailが6文字未満
'email_no_at'2文字目以降に'@'がない
'local_invalid_chars'ローカル部に有効な文字がない
'domain_period_sequence'ドメイン部から連続する'.'を除外すると有効な文字がない
'domain_period_limits'ドメイン部の先頭および末尾の空白文字と'.'を除外すると有効な文字がない
'domain_no_periods'ドメイン部が単独の'.'で区切られていない
'domain_no_valid_subs'ドメイン部に第2レベルドメインがない

使用例

  • 変数$emailについてメールアドレスとして無効な文字を除外する。
    <?php $sanitized_email = sanitize_email( $email ); ?>

フィルター

[2.8.0]メールアドレスを返す前に'sanitize_email'フィルターを呼び出す。パラメータ$sanitized_emailには無効な文字を除外したメールアドレス(書式が無効な場合は'')が、$emailには本関数が受け取った内容が、$messageにはnull(書式が無効な場合はその旨を示す文字列)が格納されている。
return apply_filters( 'sanitize_email', $sanitized_email, $email, $message );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/formatting.php

最終更新 : 2019年04月24日 16:12



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。