PHP用户名/手机号/IP指定位星号显示
初学php时就知道利用替换函数来替换指定的数字,但要替换指定位置我们需要简单处理一下才行,下面我介绍几个例子把指定位星号显示出来。
例子,用户名
<?php 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 = ''; www.111cn . Netfor ($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; } } ?>
示例
<?php $str = "如来神掌"; echo cut_str($str, 1, 0) . '**' . cut_str($str, 1, -1); //输出:如**掌 ?>
下面附两个IP地址与手机号星号显示
初学PHP,看到别人是通过合并和拆分数组进行这个操作!所以转过来!!
<?php $ip = $_SERVER['REMOTE_ADDR']; $ip_arr = explode('.', $ip); $ip_arr[3] = '*'; $ip = implode('.', $ip_arr); echo $ip; ?>
手机号的
<?php $haoma = "15012345678"; echo preg_replace("/(d{3})d{5}/", "$1*****", $haoma); //150*****678 ?>
教程网址:http://www.phprm.com/code/58436.html
欢迎收藏∩_∩但请保留本文链接。