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



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

当前添加:example@gmail.com
使用我的代码:*******@gmail.com
我希望它像exam***@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");
?>

输出

exam***@gmail.com

您需要在第四个字符处拆分$mail_part[0]

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

最新更新