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

一、仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用。

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)==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);

}

}

/**

* 手机号码中间四位用星号(*)隐藏

* @param $num string

* @return string

*/

function hideTel($num){

return substr_replace($num,‘****‘,3,4);

}

/**

* 邮箱用星号(*)隐藏 信息

* @param string $email

*/

function hideEmail($email){

$num = explode(‘@‘, $email);

$start = substr($num[0], 0, 2);

$end = substr($num[0],-1);

return $start. ‘****‘ . $end . ‘@‘ . $num[1];

}

时间: 2024-11-05 14:48:55

PHP用星号隐藏部份用户名、身份证、IP、手机号、邮箱等实例的相关文章

c++得到本地用户名和IP

bool CDlgResetAlarmInfo::GetLocalUserNameAddIP(CString &a_lstrUserName ,CString &a_IpStr) { char buf[256]=""; WSADATA w; WSAStartup(0x0101, &w); struct hostent *ph = 0; gethostname(buf, 256); string hostNmae = buf; a_lstrUserName = h

使用BurpSuite的Collaborator查找.Onion隐藏服务的真实IP地址

本文转载!!! 原文地址:http://www.4hou.com/technology/10367.html 翻译来自:http://digitalforensicstips.com/2017/11/using-burp-suites-collaborator-to-find-the-true-ip-address-for-a-onion-hidden-service/ (原文发自2017感恩节) 在这个感恩节,我想要写一些关于我们所有人都喜欢的东西:馅儿.我不是在谈论今天下午你将要买到的美味面

使用代理IP真的能隐藏自己的真实IP吗

代理IP的作用越来越大,有用来做爬虫的,有用来做批量注册的,还有用来投票的等等,还有很多用来隐藏自己真实的IP,做一些不可描述的事情,也有很多朋友问,使用代理IP真的能隐藏自己的真实IP吗? 我们知道,代理IP大致可以三种,透明IP,普通匿名IP,高级匿名IP. (1) 透明代理代理服务器将客户端的信息转发至目标访问对象,并没有完全隐藏客户端真实的身份.即服务器知道客户端使用了代理IP,并且知道客户端的真实IP地址.(2) 普通匿名代理代理服务器用自己的IP代替了客户端的真实IP,但是告诉了目标

批处理判断域用户360程序是否安装,没安装则输出用户名和IP 。

问题:域策略部署360企业版杀毒软件,1.由于下面客户机的各种环境问题,导致个别终端没有安装上360软件.2.电脑700台比较多,一个个寻找特别麻烦.解决措施:写了一个批处理并域策略推送,把没安装的用户和IP发到指定目录里,自己按照用户或者IP去自由解决.这里技术有限,没有写判断正在运行的软件. 批处理逻辑:1.判断软件是否已安装(检测在360C盘路径下exe文件),没有安装输出用户名和IP地址,已安装退出.2.输出的路径是共享路径,每个用户都能写入. @echo off if "%1"

2-常用的正则匹配规则(会员名,真实姓名,邮箱,身份证号码,邮箱)

一.常见的正则匹配规则: 常见的匹配规则有 会员名,真实姓名,邮箱,身份证号码,邮箱等等 1.用户名 要求:会员名以汉字或字母开头,有3-18位数字,字母,下划线,汉字组成 正则:reg1 = /^[\u4e00-\u9fa5a-zA-Z][0-9a-zA-Z_\u4e00-\u9fa5]{2,17}/; 2.真实姓名 要求:真实姓名是2-6位的汉字组成 正则:reg2 = /^[\u4e00-\u9fa5][\u4e00-\u9fa5]{1,5}$/; 3.密码 要求:由6-16位的数字,字母

js获取IP地址多种方法实例教程

js获取IP地址方法总结 js代码获取IP地址的方法,如何在js中取得客户端的IP地址.原文地址:js获取IP地址的三种方法 http://www.jbxue.com/article/11338.html 1,js取得IP地址的方法一 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script type="text/<A class="infotextke

TCP/IP协议族——IP工作原理及实例详解(上)

 IP协议详解 本文主要介绍了IP服务特点,头部结构,IP分片知识,并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程. IP头部信息:IP头部信息出现在每个IP数据报中,用于指定IP通信的源端IP地址.目的端IP地址,知道IP分片和重组. IP数据报的路由和转发:IP数据报的路由和转发发生在出目标机器之外的所有主机和路由器上.他们决定数据报是否应该转发以及如何转发. IP服务的特点 IP协议是TCP/IP协议族的动力,它为上层协议提供无状态.无连接.不可靠的

tco/iP协议族——IP工作原理及实例详解(下)

 IP协议详解 上一篇文章文章主要介绍了IP服务的特点,IPv4头部结构IP分片,并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程.本文主要介绍IP路由,IP转发,重定向和IPv6头部结构. IP路由 IP协议的一个核心任务是数据报的路由,即决定发送数据报到目标机器的路径.为了理解IP路由过程,我们先简要分析IP模块的基本流程. IP模块工作流程 从右往左分析上图,它首先对该数据报的头部做CRC校验,确认无误之后就分析其头部的具体信息. 如果该IP数据报的头

Socket网络编程(TCP/IP/端口/类)和实例

Socket网络编程(TCP/IP/端口/类)和实例 原文:C# Socket网络编程精华篇 转自:微冷的雨 我们在讲解Socket编程前,先看几个和Socket编程紧密相关的概念: TCP/IP层次模型 当然这里我们只讨论重要的四层 01,应用层(Application):应用层是个很广泛的概念,有一些基本相同的系统级TCP/IP应用以及应用协议,也有许多的企业应用和互联网应用.http协议在应用层运行. 02,传输层(Tanspot):传输层包括UDP和TCP,UDP几乎不对报文进行检查,而