アナログCPU:5108843109

ゲームと音楽とプログラミング(酒と女とロックンロールのノリで)

特定の文字以降を別の文字列に置き換える

具体的には、「メールアドレスの@以降を*でマスクする」ロジック。
文字列処理の関数を多数使用できて面白かったのでメモ。
ただ、PHPならもっと簡単なロジックが作れそうな気も…?

// 加工前のメールアドレス
$mail_address = "hoge@fuga.com";

// 加工後のメールアドレス
// (表示すると「hoge@*********」になる)
$masked_mail_address = substr($mail_address, 0, strpos($mail_address, '@') + 1) . str_repeat('*', strlen(strstr($mail_address, '@')));


使用している関数(リンク先は公式マニュアル)

  • strpos:文字列の検索
  • strlen:文字数の長さを求める
  • strstr:文字列の切り出し
  • substr:文字列の切り出し
  • str_repeat:文字列を繰り返す