博主信息
福哥的博客
博文
263
粉丝
3
评论
2
访问量
60012
积分:10
P豆:666.78

隐藏电话号码和字符串省略处理

2017年07月24日 20:40:14阅读数:811博客 / 福哥的博客/ PHP文章

方法1   ,有漏洞,$new_str=8989,当号码为18989896311时,就替换掉了最前面的8989,导致漏洞错误。

<?php 
/*隐藏电话号码*/
/*知识点:
1.substr 字符串截取函数
2.str_replace 字符串替换函数
*/
$str =  "15900006311";//159****6311
$new_str = substr($str,3,4);//第二个参数为开始位置,负数从最后开始数  第三个参数为取多少
$new_str1=str_replace($new_str,'****',$str);//第一个参数:寻找的字符串,第二个参数:要换成什么字符串 ,第三个参数:字符串来源,原字符串
echo $new_str1 ;//159****6311
?>

方法2  

<?php 
/*隐藏电话号码*/
/*知识点:
1.substr 字符串截取函数
2.str_replace 字符串替换函数
*/
$str =  "15942806311";//159****6311
$str1 = substr($str,0,3);
$str2 = substr($str,-4);
$new_str = $str1.'****'.$str2;
echo $new_str ;//159****6311
?>

方法2 字符串长度大于10输出'......'

<?php 
/*知识点:
1.substr 字符串长度大于10输出'......'
*/
$str =  "15942806311";//159****6311
$str1 = substr($str,0,10).'......'.$str2;
$new_str = strlen($str);
echo 1;
?>

方法2: 过滤

<?php 
/*知识点:
1.substr 字符串长度大于10输出'......'
*/
$str =  "....188...mm15942806311...";//159****6311
$new_str = trim($str,'.');//ltrim去除左边的点,rtrim去除右边的点,trim去除左右边的点,中间去不掉,所以,
echo $new_str;
$new_str1=str_replace('.','',$str);//去掉所有的点
echo $new_str1;
?>


版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论