国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP用星號隱藏部份用戶名、身份證、IP、手機號等實例

2024-05-04 23:22:42
字體:
來源:轉載
供稿:網友

一、仿淘寶評論購買記錄隱藏部分用戶名,以下代碼親測可用。

復制代碼 代碼如下:

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身份證號后4位用星號隱藏

一個很簡單的問題,想把身份證的號生日的4位隱藏,一開始查函數居然沒有看到,然后用了好幾個函數處理,覺得太麻煩就上網搜,后來發現有一個函數就能直接處理,所以記錄一下:
substr_replace()函數簡介:

復制代碼 代碼如下:


定義和用法
substr_replace() 函數把字符串的一部分替換為另一個字符串。
語法
substr_replace(string,replacement,start,length)
參數 描述
string     必需。規定要檢查的字符串。
replacement 
    必需。規定要插入的字符串。
start 
必需。規定在字符串的何處開始替換。
正數 - 在第 start 個偏移量開始替換
負數 - 在從字符串結尾的第 start 個偏移量開始替換
0 - 在字符串中的第一個字符處開始替換
length 
可選。規定要替換多少個字符。
正數 - 被替換的字符串長度
負數 - 從字符串末端開始的被替換字符數
0 - 插入而非替換

使用實例:

復制代碼 代碼如下:


[code]
echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"身份證位數不正常!");


[/code]

三、將IP最后一位替換為星號

將IP最后一位替換為星號 代碼如下:
方法一:

復制代碼 代碼如下:


<?php
str = '1.1.1.1';
reg = '/((?:/d+/.){3})/d+/';
echo preg_replace(reg, "http://1*", str);
?>


方法二:

復制代碼 代碼如下:


<?php
$ip =$_SERVER['REMOTE_ADDR'];
  $ip_arr= explode('.', $ip);
  $ip_arr[3]='*';
  $ip= implode('.', $ip_arr);
echo $ip;
?>

四、手機號中間用*星號隱藏的方法五則

復制代碼 代碼如下:

//方法一
function mobile_asterisk($mobile)
{
 $mobile_asterisk = substr($mobile,0,4)."****".substr($mobile,8,3);
 return $mobile_asterisk;
}
echo mobile_asterisk("15810904579");
//方法二
echo preg_replace("/(1/d{1,4})/d/d/d/d(/d{3,4})/", "/$1****/$2", "15810904579");

//方法三
$haoma="15012345678";
echo preg_replace("/(d{3})d{5}/","$1*****",$haoma);
//輸出150*****678

//方法四
$tel1 = "13888111188";
$tel2 = "+8613888111188";
$tel3 = "0861088111188";
$tel4 = "086-010-88111188";
echo preg_replace('/(^.*)/d{4}(/d{4})$/','//1****//2',$tel1),"/n";
echo preg_replace('/(^.*)/d{4}(/d{4})$/','//1****//2',$tel2),"/n";
echo preg_replace('/(^.*)/d{4}(/d{4})$/','//1****//2',$tel3),"/n";
echo preg_replace('/(^.*)/d{4}(/d{4})$/','//1****//2',$tel4),"/n";

//方法五
//屏蔽電話號碼中間的四位數字
function hidtel($phone)
{
    $IsWhat = preg_match('/(0[0-9]{2,3}[/-]?[2-9][0-9]{6,7}[/-]?[0-9]?)/i',$phone); //固定電話
    if($IsWhat == 1)
    {
        return preg_replace('/(0[0-9]{2,3}[/-]?[2-9])[0-9]{3,4}([0-9]{3}[/-]?[0-9]?)/i','$1****$2',$phone);

    }
    else
    {
        return  preg_replace('/(1[358]{1}[0-9])[0-9]{4}([0-9]{4})/i','$1****$2',$phone);
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四会市| 德令哈市| 永丰县| 义马市| 通渭县| 尖扎县| 上蔡县| 曲松县| 黔南| 青浦区| 望江县| 日照市| 葫芦岛市| 桂平市| 金溪县| 马鞍山市| 雷州市| 锡林郭勒盟| 上栗县| 扎兰屯市| 东城区| 洮南市| 察雅县| 云安县| 北京市| 大兴区| 澳门| 莫力| 桂阳县| 聂拉木县| 永平县| 修文县| 嘉义市| 黄平县| 濮阳县| 朝阳市| 华安县| 郸城县| 宁化县| 安化县| 南丹县|