$mobile = '13188889999';
// 1、字符串截取法
$newMobile1 = substr($mobile, 0, 3).'****'.substr($mobile, 7);
echo $newMobile1."\n";
// 2、替换字符串的子串
$newMobile2 = substr_replace($mobile, '****', 3, 4);
echo $newMobile2."\n";
// 3、正则
$newMobile3 = preg_replace('/(\d{3})\d{4}(\d{4})/', '$1****$2', $mobile);
echo $newMobile3."\n";
// 4、正则
function hideMobile($phone){
$IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); //固定电话
if($IsWhat == 1){
return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone);
}else{
return preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
}
}
$newMobile4 = hideMobile($mobile);
echo $newMobile4."\n";