在php中字符串中指定位置的字符替換為星號我們有很我函數可以實現如有substr,preg_replace,substr_replace等下面我分別給這三個函數分別介紹一個實例,主要講到電話,身份證.
手機號碼字符串替換為星號代碼:
代碼如下 復制代碼<?php
$str = "15832818835";
echo substr($str,0,3).'*****'.substr($str,8,strlen($str));//保留前三位和後三位
?>
或用正則
<?php
$s='www.bKjia.c0m的王經理:13999312365 李經理:13588958741';
$s=preg_replace('#(d{3})d{5}(d{3})#', '${1}*****${2}', $s);
echo $s;
//王經理:139*****365 李經理:135*****741
?>
替換字符串中間位置字符為星號
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');
PHP身份證號打星號
代碼如下 復制代碼echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"bKjia.c0m提示身份證位數不正常!");