php实现隐藏数字中间四位的方法:可以利用substr_replace()函数来实现。substr_replace()函数可以把字符串的一部分替换为另一个字符串,并返回被替换的字符串。
substr_replace() 函数把字符串的一部分替换为另一个字符串,并返回被替换的字符串。如果 string 是数组,则返回数组。
(推荐教程:php图文教程)
语法:
substr_replace(string,replacement,start,length)
参数:
string 必需。规定要检查的字符串。
replacement 必需。规定要插入的字符串。
start 必需。规定在字符串的何处开始替换。
正数 – 在字符串中的指定位置开始替换
负数 – 在从字符串结尾的指定位置开始替换
0 – 在字符串中的第一个字符处开始替换
length 可选。规定要替换多少个字符。默认是与字符串长度相同。
正数 – 被替换的字符串长度
负数 – 表示待替换的子字符串结尾处距离 string 末端的字符个数
0 – 插入而非替换
(学习视频推荐:php视频教程)
实现代码:
<?php $tel = '12345678910'; //1.字符串截取法 $new_tel1 = substr($tel, 0, 3).'****'.substr($tel, 7); var_dump($new_tel1); //2.替换字符串的子串 $new_tel2 = substr_replace($tel, '****', 3, 4); var_dump($new_tel2); //3.用正则 $new_tel3 = preg_replace('/(\\d{3})\\d{4}(\\d{4})/', '$1****$2', $tel); var_dump($new_tel3); ?>
输出结果:
> string(11) "123****8910" > string(11) "123****8910" > string(11) "123****8910"