php字符串替换为星号显示几种方法(手机号、身份证号星号显示)

发布时间:2020-05-20编辑:脚本学堂
有关php实现字符串替换为星号显示的几种方法,在php中字符串中指定位置的字符替换为星号,常用函数有substr,preg_replace,substr_replace等,可用于手机号与身份证号的替换显示。

php字符串替换为星号显示的几种方法

一、手机号码字符串替换为星号显示

例1,使用substr函数实现字符串截取
 

复制代码 代码示例:
<?php
$str = "15832818835";
echo substr($str,0,3).'*****'.substr($str,8,strlen($str));//保留前三位和后三位
?>

例2,php正则替换函数preg_replace实现星号显示。

复制代码 代码示例:
<?php
$s='www.jb200.com的王经理:13999312365 李经理:13588958741';
$s=preg_replace('#(d{3})d{5}(d{3})#', '${1}*****${2}', $s);
echo $s;
//王经理:139*****365 李经理:135*****741
?>

例3,替换字符串中间位置字符为星号。
 

复制代码 代码示例:
function half_replace($str){ 
   $len = strlen($str)/2; 
    return substr_replace($str,str_repeat('*',$len),ceil(($len)/2),$len); 
}
 
echo half_replace('test'),"n",half_replace('tests'),"n",half_replace('exceptions');

例4,PHP身份证号打星号:
 

复制代码 代码示例:
echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"jb200.com提示身份证位数不正常!");
专题:php星号显示与隐藏内容