如何把一个文本中的Email用*隐藏

Randy
  • 911

如何隐藏下面一段文本中的email地址?
$str = '汉字的是scdd test001@qq.com asda test002@qq.com 你后am test009@aa.com 最后一个邮箱 defse@ff.com';
预期的结果是:

汉字的是scdd *******@qq.com asda *******@qq.com 你后am *******@aa.com 最后一个邮箱 *****@ff.com
回复
阅读 2k
1 个回答
✓ 已被采纳

$str = '汉字的是scdd test001@qq.com asda test002@qq.com 你后am test009@aa.com 最后一个邮箱 defse@ff.com';
$replace = "*";
echo preg_replace_callback('/([a-zA-Z0-9]*)@([a-zA-Z0-9]*\.com)/',
    function($matches) use ($replace){
        return str_repeat($replace,strlen($matches[1]))."@".$matches[2];
},
    $str);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏