本文以淘宝评论购买记录中的隐藏部分用户名作为示例,并且拓展了隐藏手机号的中间四位数,和截取邮箱部分字符串,只要输入账号,可自动识别类型并以*显示
0、请不要问“在不在”之类的问题,有问题直接问!1、学生或暂时没有工作的童鞋,整站资源免费下载!2、¥9.9充值终身VIP会员,加我微信,826096331 拉你进VIP群学习!3、程序员加油,技术改变世界。 在线 充值
隐藏函数
function hideStar($str) { //用户名、邮箱、手机账号中间字符串以*隐藏
if (strpos($str, '@')) {
$email_array = explode("@", $str);
$prevfix = (strlen($email_array[0]) < 4) ? "" : substr($str, 0, 3); //邮箱前缀
$count = 0;
$str = preg_replace('/([\d\w+_-]{0,100})@/', '***@', $str, -1, $count);
$rs = $prevfix . $str;
} else {
$pattern = '/(1[3458]{1}[0-9])[0-9]{4}([0-9]{4})/i';
if (preg_match($pattern, $str)) {
$rs = preg_replace($pattern, '$1****$2', $str); // substr_replace($name,'****',3,4);
} else {
$rs = substr($str, 0, 3) . "***" . substr($str, -1);
}
}
return $rs;
}
测试数据
<?php
$account = "erdangjiade.com";
$email = "416148489@qq.com";
$phone = "18005152525";
?>
以星号*显示实例
<table width="100%">
<tr>
<td>账号</td>
<td>邮箱</td>
<td>手机</td>
</tr>
<tr>
<td><?php echo $account;?></td>
<td><?php echo $email;?></td>
<td><?php echo $phone;?></td>
</tr>
<tr>
<td><?php echo hideStar($account);?></td>
<td><?php echo hideStar($email);?></td>
<td><?php echo hideStar($phone);?></td>
</tr>
</table>
友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群