• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP用星号隐藏部份用户名、身份证、IP、手机号等实例_PHP

php 搞代码 3年前 (2022-01-25) 28次浏览 已收录 0个评论

一、仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用。
复制代码 代码如下:function cut_str($string, $sublen, $start = 0, $code = ‘UTF-8’)
{
if($code == ‘UTF-8’)
{
$pa = “/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/”;
preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) – $start > $sublen) return join(”, array_slice($t_string[0], $start, $sublen));
return join(”, array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = ”;

for($i=0; $i< $strlen; $i++)
{
if($i>=$start && $i< ($start+$sublen))
{
if(ord(substr($string, $i, 1))>129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))>129) $i++;
}
//if(strlen($tmpstr)< $strlen ) $tmpstr.= "…";
return $tmpstr;
}
}
使用示例:
复制代码 代码如下:$str = “如来神掌”;
echo cut_str($str, 1, 0).’**’.cut_str($str, 1, -1);
//输出:如**掌


二、PHP身份证号后4位用星号隐藏

一个很简单的问题,想把身份证的号生日的4位隐藏,一开始查函数居然没有看到,然后用了好几个函数处理,觉得太麻烦就上网搜,后来发现有一个函数就能直接处理,所以记录一下:
substr_replace()函数简介:
复制代码 代码如下:
定义和用法
substr_replace() 函数把字符串的一部分替换为另一个字符串。
语法
substr_replace(string,replacement,start,length)
参数 描述
string 必需。规定要检查的字符串。
replacement
必需。规定要插入的字符串。
start
必需。规定在字符串的何处开始替换。
正数 – 在第 start 个偏移量开始替换
负数 – 在从字符串结尾的第 start 个偏移量开始替换
0 – 在字符串中的第一个字符处开始替换
length
可选。规定要替换多少个字符。
正数 – 被替换的字符串长度
负数 – 从字符串末端开始的被替换字符数
0 – 插入而非替换

使用实例:
复制代码 代码如下:
[code]
echo strlen($idcard)==15?substr_replace($idcard,”****”,8,4):(strlen($idcard

本&文来源gaodai^.ma#com搞#代!码网

搞gaodaima代码)==18?substr_replace($idcard,”****”,10,4):”身份证位数不正常!”);
[/code]

三、将IP最后一位替换为星号

将IP最后一位替换为星号 代码如下:
方法一:
复制代码 代码如下:
<?php
str = ‘1.1.1.1’;
reg = ‘/((?:\d+\.){3})\d+/’;
echo preg_replace(reg, “\\1*”, str);
?>
方法二:
复制代码 代码如下:
<?php
$ip =$_SERVER[‘REMOTE_ADDR’];
$ip_arr= explode(‘.’, $ip);
$ip_arr[3]=’*’;
$ip= implode(‘.’, $ip_arr);
echo $ip;
?>

四、手机号中间用*星号隐藏的方法五则

复制代码 代码如下://方法一
function mobile_asterisk($mobile)
{
$mobile_asterisk = substr($mobile,0,4).”****”.substr($mobile,8,3);
return $mobile_asterisk;
}
echo mobile_asterisk(“15810904579”);
//方法二
echo preg_replace(“/(1\d{1,4})\d\d\d\d(\d{3,4})/”, “\$1****\$2”, “15810904579”);

//方法三
$haoma=”15012345678″;
echo preg_replace(“/(d{3})d{5}/”,”$1*****”,$haoma);
//输出150*****678

//方法四
$tel1 = “13888111188”;
$tel2 = “+8613888111188”;
$tel3 = “0861088111188”;
$tel4 = “086-010-88111188”;
echo preg_replace(‘/(^.*)\d{4}(\d{4})$/’,’\\1****\\2′,$tel1),”\n”;
echo preg_replace(‘/(^.*)\d{4}(\d{4})$/’,’\\1****\\2′,$tel2),”\n”;
echo preg_replace(‘/(^.*)\d{4}(\d{4})$/’,’\\1****\\2′,$tel3),”\n”;
echo preg_replace(‘/(^.*)\d{4}(\d{4})$/’,’\\1****\\2′,$tel4),”\n”;

//方法五
//屏蔽电话号码中间的四位数字
function hidtel($phone)
{
$IsWhat = preg_match(‘/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i’,$phone); //固定电话
if($IsWhat == 1)
{
return preg_replace(‘/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i’,’$1****$2′,$phone);

}
else
{
return preg_replace(‘/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i’,’$1****$2′,$phone);
}
}


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP用星号隐藏部份用户名、身份证、IP、手机号等实例_PHP
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址