2017-02-14 130 views
1

如何通过用*替换为0935***3256来显示和隐藏某个电话号码的某些号码?电话号码的隐藏号码

EX:

09350943256 - > 0935 *** 3256
09119822432 - > 0911 *** 2432
09215421597 - > 0921 *** 1597
...


$number = '09350943256'; 
echo str_pad(substr($number, -4), strlen($number), '*', STR_PAD_LEFT); 

顶部php代码结果如下:*******3256但我想结果为:0935***3256

这是怎么回事?

+0

这是一项相当平凡的任务。使用strlen,substr,str_repeat和你想要的右侧和左侧的数字计数的巧妙组合 – Joshua

回答

1

您可以使用substr和CONCAT这样

假设你$号是12位长度

echo substr($number, 0, 4) . '****' . substr($number, -4); 
+0

这不工作的真实,请参阅:https://3v4l.org/Am2sq –

+0

@Mehdi很多谢谢..回答更新..(错误的,0,-4)只需要-4 – scaisEdge

0

您可以使用substr()获取前4位和后4位,并在中间手动添加4个*,并将它们放在一起放入一个字符串中。

$phone = "09350943256"; 
$result = substr($phone, 0, 4); 
$result .= "****"; 
$result .= substr($phone, 7, 4); 
echo $result; 

以上将输出

0935 **** 3256

Live demo