搜索

首页  >  问答  >  正文

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

如何隐藏下面一段文本中的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
大家讲道理大家讲道理2909 天前257

全部回复(1)我来回复

  • PHPz

    PHPz2017-04-10 17:08:54

    
    $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);

    回复
    0
  • 取消回复