|
一、仿淘寶評(píng)論購(gòu)買(mǎi)記錄隱藏部分用戶(hù)名,以下代碼親測(cè)可用。
復(fù)制代碼 代碼如下: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;
}
}
使用示例:
復(fù)制代碼 代碼如下:$str = "如來(lái)神掌";
echo cut_str($str, 1, 0).'**'.cut_str($str, 1, -1);
//輸出:如**掌
二、php身份證號(hào)后4位用星號(hào)隱藏
一個(gè)很簡(jiǎn)單的問(wèn)題,想把身份證的號(hào)生日的4位隱藏,一開(kāi)始查函數(shù)居然沒(méi)有看到,然后用了好幾個(gè)函數(shù)處理,覺(jué)得太麻煩就上網(wǎng)搜,后來(lái)發(fā)現(xiàn)有一個(gè)函數(shù)就能直接處理,所以記錄一下:
substr_replace()函數(shù)簡(jiǎn)介:
復(fù)制代碼 代碼如下:
定義和用法
substr_replace() 函數(shù)把字符串的一部分替換為另一個(gè)字符串。
語(yǔ)法
substr_replace(string,replacement,start,length)
參數(shù) 描述
string 必需。規(guī)定要檢查的字符串。
replacement
必需。規(guī)定要插入的字符串。
start
必需。規(guī)定在字符串的何處開(kāi)始替換。
正數(shù) - 在第 start 個(gè)偏移量開(kāi)始替換
負(fù)數(shù) - 在從字符串結(jié)尾的第 start 個(gè)偏移量開(kāi)始替換
0 - 在字符串中的第一個(gè)字符處開(kāi)始替換
length
可選。規(guī)定要替換多少個(gè)字符。
正數(shù) - 被替換的字符串長(zhǎng)度
負(fù)數(shù) - 從字符串末端開(kāi)始的被替換字符數(shù)
0 - 插入而非替換
使用實(shí)例:
復(fù)制代碼 代碼如下:
[code]
echo strlen($idcard)==15?substr_replace($idcard,"****",8,4):(strlen($idcard)==18?substr_replace($idcard,"****",10,4):"身份證位數(shù)不正常!");
[/code]
三、將IP最后一位替換為星號(hào)
將IP最后一位替換為星號(hào) 代碼如下:
方法一:
復(fù)制代碼 代碼如下:
<?php
str = '1.1.1.1';
reg = '/((?:/d+/.){3})/d+/';
echo preg_replace(reg, "http://1*", str);
?>
方法二:
復(fù)制代碼 代碼如下:
<?php
$ip =$_SERVER['REMOTE_ADDR'];
$ip_arr= explode('.', $ip);
$ip_arr[3]='*';
$ip= implode('.', $ip_arr);
echo $ip;
?>
四、手機(jī)號(hào)中間用*星號(hào)隱藏的方法五則
復(fù)制代碼 代碼如下://方法一
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";
//方法五
//屏蔽電話(huà)號(hào)碼中間的四位數(shù)字
function hidtel($phone)
{
$IsWhat = preg_match('/(0[0-9]{2,3}[/-]?[2-9][0-9]{6,7}[/-]?[0-9]?)/i',$phone); //固定電話(huà)
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);
}
}
php技術(shù):PHP用星號(hào)隱藏部份用戶(hù)名、身份證、IP、手機(jī)號(hào)等實(shí)例,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。