php如何隐藏IP地址后两位为星号显示?二种方法

发布时间:2020-11-14编辑:脚本学堂
有关php隐藏ip地址后两位为星号显示的二种方法,显示用户的IP时后面几个IP段显示为星号,使用preg_replace与ereg_place函数来实现。

在很多网站中,显示用户的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手机号中间几位替换星号的四种方法