MyMiniCity踏んでください!!

ただいま絶賛MyMiniCity参加中です.是非リンクを踏んでください!!(笑
November 15th, 2007

複数の文字列の完全一致を一気にやるならin_array()の方がすっきりする

(Read: 21755)
Add to Hatena Bookmark

参照: 携帯メールアドレスをチェックする方法
ケータイドメインのチェックみたいなホワイトリストを用いた文字列一致の確認はin_array()を使うと結構すっきり書けます.
Wikiのtips集にも入れた



$carrier_domains = array(
'docomo.ne.jp',
'ezweb.ne.jp',
'softbank.ne.jp',
't.vodafone.ne.jp',
'd.vodafone.ne.jp',
'h.vodafone.ne.jp',
'c.vodafone.ne.jp',
'k.vodafone.ne.jp',
'r.vodafone.ne.jp',
'n.vodafone.ne.jp',
's.vodafone.ne.jp',
'q.vodafone.ne.jp',
'pdx.ne.jp',
'wm.pdx.ne.jp',
'di.pdx.ne.jp',
'dj.pdx.ne.jp',
'dk.pdx.ne.jp'
);

// あるいは1行1ドメインなテキストファイルを作って読み込む
$carrier_domains = file('domain.txt');
$carrier_domains = is_array($carrier_domains) == true? array_map('trim',$carrier_domains): array();
// @todo FIXME: ファイルを読み込むならエラー処理はちゃんとやりましょう

$mail_address = 'foobar@docomo.ne.jp';
$localpart = strtok($mail_address, '@');
$domain = strtok('');

if (in_array(strtolower($domain), $carrier_domains) == true) {
// ケータイドメイン
} else {
// ケータイ以外ドメイン
}

このサンプルは2パターンでホワイトリストを作ってるので妙に長いように見えますが,正規表現を使うよりはシンプルでヒューマンエラーの減少(メタ文字のエスケープ忘れとか)を期待できます.

- PHP: in_array - Manual
- PHP: strtok - Manual
- PHP: strtolower - Manual

トピックの参照元

▼最近のトピック

▼ 人気のトピック


< 過去の記事 [ 11All Categories ] 新しい記事 >
Powered by gsblog (customize)

[ POST ] [ AddLink ] [ CtlPanel ]

Subscribe blog

Bookmark blog

About me

about me

応援しています

我が息子が産まれたアクア・バースハウス(東京都世田谷区にある助産院)を応援しています.

翻訳のお仕事

腕に自信がある方,修行をしたい方はこちらをどうぞ.

2018 calendar

11月
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 27 28 29 30
| Day | Month | Year |

Powered by RRDTOOL.

Archives

Categories

Links


Mail to admin

人気ブログランキングへ RSS feed meter for http://blog.poyo.jp/ Search Engine Optimization
blogpeople.netに登録!! スカウター : よくきたblog

My Google news

My Google News

Related site

ころんころん♪ べびぽよ フォト蔵Wiki
string(14) "/id-1195088021"