この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
署名付きメールアドレスからメールアドレスだけを抽出する
メールの解析を行っていると「署名つきメールアドレス宛名 <test@example.com>」など署名付きのメールアドレスに遭遇するときがあります。今回はphpにて署名付きメールアドレスから署名を取り除き、メールアドレスだけを抽出します。
サンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php /** * 署名付きメールアドレスから署名を取り除く * 「署名付き <test@example.jp>」 → 「test@example.jp」 * * @param $mailaddress * @return 署名を除いたメールアドレス */ function removeMailSignature($mailaddress) { $tmp = null; //署名を取り除く preg_match('/<.*>/',$mailaddress,$tmp); if(is_array($tmp)) { if($tmp[0]!="" && strlen($tmp[0])>=3) { $tmp_mail=substr($tmp[0],1,strlen($tmp[0])-2); $mailaddress = $tmp_mail; } } return $mailaddress; } $mailaddress = '署名付き <test@t3a.jp>'; var_dump(removeMailSignature($mailaddress)); |
サンプルプログラムの出力結果
1 2 |
[root@localhost]$ php removeMailSignature.php string(11) "test@t3a.jp" |
ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。