php实现字符串指定位置星号显示

发布时间:2020-08-12编辑:脚本学堂
有关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);
//输出:如**掌

推荐php手机号中间几位替换星号的四种方法

附,两个IP地址与手机号星号显示的方法。

通过合并和拆分数组进行操作。

代码:
 

复制代码 代码示例:
<?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
?>