Php 如何用除前四个字符外的星号替换某些字符

Php 如何用除前四个字符外的星号替换某些字符,php,string,email,Php,String,Email,我想从我的电子邮件地址中隐藏一些字符,如 当前添加:example@gmail.com 使用我的代码:******@gmail.com 我想要它就像:考试***@gmail.com 我的代码: function hide_mail($email) { $mail_part = explode("@", $email); $mail_part[0] = str_repeat("*", strlen($mail_part[0])); return implode("@", $

我想从我的电子邮件地址中隐藏一些字符,如

当前添加:
example@gmail.com

使用我的代码:
******@gmail.com

我想要它就像
考试***@gmail.com

我的代码:

function hide_mail($email) {
    $mail_part = explode("@", $email);
    $mail_part[0] = str_repeat("*", strlen($mail_part[0]));
    return implode("@", $mail_part);
}

echo hide_mail("example@gmail.com");
使用
substr()
可以完成此操作

PHP

<?php        
    function hide_mail($email) {
        $new_mail = "";
        $mail_part1 = explode("@", $email);
        $mail_part2 = substr($mail_part1[0],4); // Sub string after fourth character.
        $new_mail = substr($mail_part1[0],0,4); // Add first four character part.
        $new_mail .= str_repeat("*", strlen($mail_part2))."@"; // Replace *. And add @
        $new_mail .= $mail_part1[1]; // Add last part.
        return $new_mail;
    }

    echo hide_mail("example@gmail.com");
?>

您需要在第四个字符处拆分
$mail\u部分[0]


在拆分的第二部分用*替换,然后再将这三部分连接在一起。

您不能对邮件隐藏电子邮件地址。但是,如果你想在电子邮件中隐藏电子邮件地址,请使用邮件的密件抄送方法。请阅读-总结是,这不是一种向志愿者致信的理想方式,可能会对获得答案产生反作用。请不要在你的问题中添加这个。很棒的兄弟,工作起来很酷,谢谢,但如果可能的话,你能给我解释一下吗。
exam***@gmail.com