search

Home  >  Q&A  >  body text

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
大家讲道理大家讲道理2902 days ago256

reply all(1)I'll reply

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

    reply
    0
  • Cancelreply