在显示用户列表的场景中,一般用到手机号的显示时都需要对手机号进行处理,一般是把中间的四位换成星号****,我本人用php处理的思路是进行替换,用****替换手机号的中间四位
代码如下:
1
2
3
4
5
6
|
$all_lottery_logs = ********; //该语句是得到中奖纪录
//遍历处理手机号
foreach ( $all_lottery_logs as $k => $v ){
$xing = substr ( $v [ 'tel' ],3,4); //获取手机号中间四位
$all_lottery_logs [ $k ][ 'tel' ] = str_replace ( $xing , '****' , $v [ 'tel' ]); //用****进行替换
}
|
另外几种方法
1
2
3
4
5
6
7
8
9
10
11
12
|
<?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 );
?>
|
结果:
1
2
3
|
> string(11) "123****8910"
> string(11) "123****8910"
> string(11) "123****8910"
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.cnblogs.com/alisleepy/p/6929407.html