首页 > 开发 > PHP > 正文

PHP用户名/手机号/IP指定位星号显示

2024-05-04 21:58:02
字体:大 中 小
来源:转载
供稿:网友

初学php时就知道利用替换函数来替换指定的数字,但要替换指定位置我们需要简单处理一下才行,下面我介绍几个例子把指定位星号显示出来.

例子,用户名代码如下:

  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 > $sublen) return 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. //输出:如**掌 

下面附两个IP地址与手机号星号显示,初学PHP,看到别人是通过合并和拆分数组进行这个操作,所以转过来,代码如下:

  1. <?php  
  2.  
  3. $ip =$_SERVER['REMOTE_ADDR']; 
  4.  
  5.   $ip_arr= explode('.', $ip); 
  6.  
  7.   $ip_arr[3]='*'; 
  8.  
  9.   $ip= implode('.', $ip_arr); 
  10.  
  11. echo $ip; 
  12.  
  13. ?> 

手机号的,代码如下:

  1. <?php  
  2. $haoma="15012345678";  
  3. echo preg_replace("/(d{3})d{5}/","$1*****",$haoma);  
  4. //150*****678  
  5. ?> 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表