您的连接不是私密连接_php 开发中手机号和银行账号等私密字段替代方法,你学会了吗?3...

声明:此文为「原创首发」

前几天我发表了一片《php 开发中手机号和银行账号等私密字段替代方法,你学会了吗?1》
然后评论中有一位同仁提出了一个更简单的方法。

e02aeae0feb89523a6e102fdcf56d29d.png

感谢这位ID为用户2427556790233的朋友,今天我们就按照他提出的方法,继续实现手机号和银行账号等私密字段的某部分字符替代方法。

首先呢,我们定义一个变量,当然这变量是你们随意定义都OK,但是一定是字符串。

$str = "13256568787"

然后我们用 substr () 函数来获取变量的某一段;

我们先获取变量的前三位数

$str_start = substr($str,0,3);

其中substr()的第一位参数就是我们定义的变量值,地二个参数就是指,我们要从第一个参数的哪个下标开始获取,第三个参数指的是,我们要获取的字符串长度。

接下来我们再获取后面的四位数值

$str_end = substr($str,-4,4);

其中substr()的第一位参数就是我们定义的变量值,地而个参数就是指,我们要从第一个参数的倒数第四位开始获取,第三个参数指的是,我们要获取的字符串长度。

这里大家可以看的出来substr()函数的用法了吧?

caa9d22026795c40541cbea6db585de9.png

这样我们就能获取到前面和后面的字符串了,现在我们需要将字符串连接起来

$mobile = $str_start."****".$str_end;

这里用到的是和PHP 字符串连接方法 . PHP的字符串连接必须用一个 点 . 连接起来。

我们在TP5 里面定义个方法:

public function replace(){ $str = "13256568787"; $str_start = substr($str,0,3); $str_end = substr($str,-4,4); $mobile = $str_start."****".$str_end; echo $mobile;}
3866c593150d6d57b564252334a9328c.png

接下来,就是见证奇迹的时刻了,我们打来浏览器,输入路径

http://tp5.com/index/index/replace

c2c1902c1dfb20629bb2d4c68e5c69c3.png

显示出来的效果和我们之前的一样的。

这里我们在回顾一下之前的代码1

public function replace(){ $bank_num = '6230004952801100578'; $bank_num = substr_replace($bank_num, '***YY*',5, 6); echo $bank_num;}

执行的效果1

016548f2d43286c3fe0f9651822f6109.png

这里我们在回顾一下之前的代码2

public function replace(){ $phone = '13812345678'; $phone = preg_replace('/(1[0-9]{2})[0-9]{4}([0-9]{4})/i','$1****$2',$phone); echo $phone;}

执行的效果2

ab3b72316a2c2b7b4eb13e03d4f00cee.png

对比这三种方法,大家觉得哪个方法好呢?喜欢 的朋友点赞一下,关注支持一下。

62097ec566168cff51fb008786e1ed80.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值