регулярное выражение, чтобы частично скрыть электронную почту? [закрыто]

Это довольно просто, чего я пытаюсь достичь, я хочу, чтобы такой вклад, как

[email protected]

быть:

漢******@tratata.com

Таким образом, я сделал это регулярное выражение для соответствия между первым символом и символом "@".

mb_regex_encoding ('UTF-8' );
mb_ereg_replace('(?<=^.{1}).*?(?=@)','*','漢[email protected]',1);

Но проблема в том, что он будет соответствовать ей только один раз, и, таким образом, будет помещать туда только одну звезду вместо шести. Примерно так, вот что я бы получил:

漢*@tratata.com

Затем я хотел использовать mb_ereg_replace_callback, чтобы вернуть:

return $matches[1].str_repeat('*', strlen($matches[1]));

Затем я прочитал спецификации и сказал, что mb_ereg_replace_callback доступен в PHP 5.4.1 или новее.

... Есть идеи, как я могу достичь того же?

Ответы на вопрос(5)

Ваш ответ на вопрос