您当前的位置: 首页 > 网站编程 > PHP教程 > PHP用星号隐藏部份用户名、身份证、IP、手机号等实例

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

作者:不详 来源:网络 发布时间: 2014-08-03 14:48 点击:
这篇文章主要介绍了PHP用星号隐藏部份用户名、身份证、IP、手机号等实例,需要的朋友可以参考下 一、仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用。 代码如下:function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if($code == 'UTF-8') { $pa =

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

  这篇文章主要介绍了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("/(1d{1,4})dddd(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);

  }

  }
分享到:
本文"PHP用星号隐藏部份用户名、身份证、IP、手机号等实例"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4