之前做项目需要信息脱敏做的一个处理方法,可以定义首尾及中间显示星号数量
function secret_str($str,$prefix = 4,$suffix =4,$max_star = 4){
if(empty($str) || empty($max_star)) return $str;
$strLen = strlen($str);
if($prefix > 0 && $strLen <= $prefix) return $str;
if($suffix > 0 && $strLen <= $suffix) return $str;
if($strLen <= ($prefix + $suffix)){
if($prefix > 0){
$starNum = $strLen - $prefix;
$star = str_repeat("*",$starNum);
return substr($str,0,$prefix).$star;
}else{
$starNum = $strLen - $suffix;
$star = str_repeat("*",$starNum);
return $star.substr($str,$starNum);
}
}
if($prefix > 0){
$first = substr($str,0,$prefix);
}else{
$first = "";
}
if($suffix > 0){
$end = substr($str,$strLen- $suffix);
}else{
$end = "";
}
$starNum = $strLen - $prefix - $suffix;
$starNum = min($starNum,$max_star);
$middle = str_repeat("*",$starNum);
return $first.$middle.$end;
}
function secret_idnumber($idnumber){
return secret_str($idnumber,2,2);
}
function secret_name($name){
return secret_str($name,1,1);
}
function secret_phone($phone){
return secret_str($phone,3,4);
}
用户今天 : 15
用户昨天 : 27
用户最近的7天 : 145
用户最近的30天 : 687
用户这个月 : 632
用户这一年 : 2079
合计用户 : 8748
查看今天 : 67
查看昨天 : 33
查看最近7天 : 206
查看最近30天的 : 837
查看这个月 : 779
查看这一年 : 2765
合计查看 : 10929
谁是在线的 : 0