首页 > 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 = '';
        for ($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;
    }
}
?>

示例代码如下:

$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/develop/fs3553.html

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

标签:星号 用户名 手机号

相关文章

发表留言