regexp, aby częściowo ukryć e-mail? [Zamknięte]

To raczej proste, co próbuję osiągnąć, chcę takie dane jak

[email protected]

być:

漢******@tratata.com

Zrobiłem więc to wyrażenie regularne, aby pasowało do pierwszego znaku i znaku @.

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

Problem jednak pasowałby tylko raz, a zatem wprowadziłby tylko jedną gwiazdkę zamiast sześciu. Coś takiego jest tym, co bym dostał:

漢*@tratata.com

Potem chciałem użyć mb_ereg_replace_callback, aby wrócić:

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

Następnie czytam specyfikacje i powiedział, że mb_ereg_replace_callback jest dostępny w PHP 5.4.1 lub nowszym.

... Jakieś pomysły, jak mogę osiągnąć to samo?

questionAnswers(5)

yourAnswerToTheQuestion