本文操作环境:windows7系统、PHP7.1版,DELL G3电脑。
在前几天的工作中,关于“银行卡”页面原型如下,其中,不同银行卡的卡号只保留了最后四位数字可以显示,其他数字均用*字符隐藏了起来。
和前端沟通后,由我这边对数字进行隐藏处理。这就用到了PHP中的字符串替换substr_replace函数。
PHP字符串替换,顾名思义,就是用于从字符串中替换指定字符串。
相关函数如下:
substr_replace( )——把字符串的一部分替换为另一个字符串
str_replace( )——使用一个字符串替换字符串中的另一些字符
1. substr_replace( )
语法:
substr_replace(string,replacement,start,length)
参数 | 描述 |
---|---|
string | 必需。规定要检查的字符串。 |
replacement | 必需。规定要插入的字符串。 |
start |
必需。规定在字符串的何处开始替换。
|
length |
可选。规定要替换多少个字符。默认是与字符串长度相同。
|
返回值 | 返回被替换的字符串 |
2. str_replace( )
语法:
str_replace(find,replac,string,count)
参数 | 描述 |
---|---|
find | 必需。规定要查找的值。 |
replace | 必需。规定替换 find 中的值的值。 |
string | 必需。规定被搜索的字符串。 |
count | 可选。对替换数进行计数的变量。 |
返回值 | 返回带有替换值的字符串或数组 |
以上就是字符串替换substr_replace( ) 和 str_replace( )函数的基础知识点,因此在实际工作中,我用到了第一个——substr_replace( )函数。
【推荐:PHP视频教程】
经过查询,我了解到目前国内的银行卡是16位或者19位长度数字,因此从数据表查到银行卡卡号之后,先用strlen( )函数统计字符串的长度。
当银行卡为16位数字时,前面12位数字被12个*替换,即replacement是 ************;
当银行卡为19位数字时,前面15位数字被15个*替换,即replacement是 **************** ;
代码如下图:
测试效果如下图: