方法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;
?>