在很多网站中,显示用户的IP时后面几个IP段显示为星号,这种效果如何实现呢?
专题:php星号显示与隐藏内容
一、php正则格式化IP地址,隐藏后一位。
例1:
复制代码 代码示例:
<?php
//隐藏后一位
return preg_replace('/(\d+)\.(\d+)\.(\d+)\.(\d+)/is',"$1.$2.$3.*",$ip);
//隐藏IP地址最后几位为*
echo ereg_replace("[^\.]{1,3}$","*",$ip);
?>
二、php实现隐藏Ip地址最后一段或最后两段。
例2:
复制代码 代码示例:
<?
//--隐藏IP后几位
$ip='127.0.0.1';
$reg1='/((?:\d+\.){3})\d+/';
$reg2='~(\d+)\.(\d+)\.(\d+)\.(\d+)~';
echo preg_replace($reg1,"\\1*",$ip);//以上输出结果为:127.0.0.*
echo "------------------<br/>";
echo preg_replace($reg2,"$1.$2.*.*",$ip);//以上输出结果为:127.0.*.*
?>
例子:
复制代码 代码示例:
function suohao($phone){
$p = substr($phone,0,3)."*****".substr($phone,8,3);
return $p;
}
说明:
像数组以.分开之后,把数组2,3进行替换即可,或组合0,1数组就可以。
延伸:php手机号中间几位替换星号的四种方法