メールアドレスの3桁目と「@」の間の文字列を「*」に置き換えてください
echo preg_replace('/(?<=.{3}).+@/', '*@', 'username@mail.net');
$str ="12q2345qqqq667@qq.com";$sub = substr($str, 2,strpos($str,'@') -2);$len = strlen($sub);$replaceStr = str_repeat('*',$len);$newStr = str_replace($sub, $replaceStr, $str);var_dump($newStr);