当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-11-07 11:45:39 浏览: 评论:0 

这篇文章主要介绍了PHP用星号隐藏部份用户名、身份证、IP、手机号等实例,需要的朋友可以参考下。

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

  1. function cut_str($string$sublen$start = 0, $code = 'UTF-8'
  2.  { 
  3.      if($code == 'UTF-8'
  4.      { 
  5.          $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]/"
  6.          preg_match_all($pa$string$t_string); 
  7.  
  8.         if(count($t_string[0]) - $start > $sublenreturn join(''array_slice($t_string[0], $start$sublen)); 
  9.          return join(''array_slice($t_string[0], $start$sublen)); 
  10.      } 
  11.      else 
  12.      { 
  13.          $start = $start*2; 
  14.          $sublen = $sublen*2; 
  15.          $strlen = strlen($string); 
  16.          $tmpstr = ''
  17.  
  18.         for($i=0; $i$strlen$i++) 
  19.          { 
  20.              if($i>=$start && $i< ($start+$sublen)) 
  21.              { 
  22.                  if(ord(substr($string$i, 1))>129) 
  23.                  { 
  24.                      $tmpstr.= substr($string$i, 2); 
  25.                  } 
  26.                  else 
  27.                  { 
  28.                      $tmpstr.= substr($string$i, 1); 
  29.                  } 
  30.              } 
  31.              if(ord(substr($string$i, 1))>129) $i++; 
  32.          } 
  33.          //if(strlen($tmpstr)< $strlen ) $tmpstr.= "..."; 
  34.          return $tmpstr
  35.      } 
  36.  } 

使用示例:

  1. $str = "如来神掌"
  2.  echo cut_str($str, 1, 0).'**'.cut_str($str, 1, -1); 
  3.  //输出:如**掌 

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

一个很简单的问题,想把身份证的号生日的4位隐藏,一开始查函数居然没有看到,然后用了好几个函数处理,觉得太麻烦就上网搜,后来发现有一个函数就能直接处理,所以记录一下:

substr_replace()函数简介:

定义和用法

substr_replace() 函数把字符串的一部分替换为另一个字符串。

语法

substr_replace(string,replacement,start,length)

参数 描述

string     必需。规定要检查的字符串。

replacement

必需。规定要插入的字符串。

start

必需。规定在字符串的何处开始替换。

正数 - 在第 start 个偏移量开始替换

负数 - 在从字符串结尾的第 start 个偏移量开始替换

0 - 在字符串中的第一个字符处开始替换

length

可选。规定要替换多少个字符。

正数 - 被替换的字符串长度

负数 - 从字符串末端开始的被替换字符数

0 - 插入而非替换

使用实例:

  1. echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"身份证位数不正常!"); 

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

将IP最后一位替换为星号 代码如下:

方法一:

  1. <?php 
  2. str = '1.1.1.1'
  3. reg = '/((?:\d+\.){3})\d+/'
  4. echo preg_replace(reg, "\\1*", str); 
  5. ?> 

方法二:

  1. <?php  
  2. $ip =$_SERVER['REMOTE_ADDR']; 
  3.    $ip_arrexplode('.'$ip); 
  4.    $ip_arr[3]='*'
  5.    $ip= implode('.'$ip_arr); 
  6.  echo $ip
  7.  ?> 

四、手机号中间用*星号隐藏的方法五则,代码如下:

  1. //方法一 
  2.  function mobile_asterisk($mobile
  3.  { 
  4.   $mobile_asterisk = substr($mobile,0,4)."****".substr($mobile,8,3); 
  5.   return $mobile_asterisk
  6.  } 
  7.  echo mobile_asterisk("15810904579"); 
  8.  //方法二 
  9.  echo preg_replace("/(1\d{1,4})\d\d\d\d(\d{3,4})/""\$1****\$2""15810904579"); 
  10.  
  11. //方法三 
  12.  $haoma="15012345678";  
  13. echo preg_replace("/(d{3})d{5}/","$1*****",$haoma);  
  14. //输出150*****678 
  15.  
  16. //方法四 
  17.  $tel1 = "13888111188"
  18.  $tel2 = "+8613888111188"
  19.  $tel3 = "0861088111188"
  20.  $tel4 = "086-010-88111188"
  21.  echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$tel1),"\n"
  22.  echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$tel2),"\n"
  23.  echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$tel3),"\n"
  24.  echo preg_replace('/(^.*)\d{4}(\d{4})$/','\\1****\\2',$tel4),"\n"
  25.  
  26. //方法五 
  27.  //屏蔽电话号码中间的四位数字 
  28.  function hidtel($phone
  29.  { 
  30.      $IsWhat = preg_match('/(0[0-9]{2,3}[\-]?[2-9][0-9]{6,7}[\-]?[0-9]?)/i',$phone); //固定电话 
  31.      if($IsWhat == 1) 
  32.      { 
  33.          return preg_replace('/(0[0-9]{2,3}[\-]?[2-9])[0-9]{3,4}([0-9]{3}[\-]?[0-9]?)/i','$1****$2',$phone); 
  34.  
  35.     } 
  36.      else 
  37.      { 
  38.          return  preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone); 
  39.      } 
  40.  } 

Tags: PHP隐藏用户名

分享到: