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
欢迎收藏∩_∩但请保留本文链接。