我想要实现的目标相当简单,我想要输入,例如
漢aelena@tratata.com
成为:
漢******@tratata.com
所以我做了这个正则表达式来匹配第一个字符和'@'。
mb_regex_encoding ('UTF-8' );
mb_ereg_replace('(?<=^.{1}).*?(?=@)','*','漢aelena@tratata.com',1);
但问题是,它只会匹配一次,因此只会放一颗星,而不是六颗星。像这样的东西,是我会得到的:
漢*@tratata.com
然后我想使用 mb_ereg_replace_callback,返回:
return $matches[1].str_repeat('*', strlen($matches[1]));
然后我阅读了规范,它说 mb_ereg_replace_callback 在 PHP 5.4.1 或更高版本中可用。
...任何想法我怎么能做到同样的事情?