首页 > php代码 > PHP用户名/手机号/IP指定位星号显示

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

欢迎收藏∩_∩但请保留本文链接。

标签:substr explode preg_match

相关文章

发表留言