- 733 名前:nobodyさん [2009/10/30(金) 06:12:51 ID:5l/tuOOs]
- 以下のようなメールアドレスのうち「@の前部分」を、文字数分だけ*に置換したいのです。
taro@example.com これだと4文字決め打ちになってしまいます。 preg_replace('/[a-z0-9\.\-\_]+@/i', '****@', $text); いまのところシンプルに書ける方法で思いつくのは、 長い文字数から順に置換していく方法です。 forなど使えばシンプルには書けそうです。 preg_replace('/[a-z0-9\.\-\_]{10}@/i', '**********@', $text); preg_replace('/[a-z0-9\.\-\_]{9}@/i', '*********@', $text); ... でも美しい方法とは思えません。 定石、または美しい方法はありますか?
|

|