① thinkphp從資料庫獲取的電話號碼,我要中間四個數字用星號表示怎麼做
這里需要用到一個php的函數:substr_replace()函數把字元串的一部分替換為另一個字元串。
這個函數的用法如下:substr_replace(string,replacement,start,length)
參數:
string要被檢查提取內容的字元串
replacement替換後的字元串
start截取的開始位置(以0開始)
length截取的長度
直接上代碼:(假如資料庫中的電話號碼的欄位名為phone)
$model=D('User);
$dataList=$model->select();//請加上你自己需要的條件
if($dataList)
{
foreach($dataListas$key=>$value)
{
$dataList[$key]['phone']=substr_replace($value['phone'],'****',3,4);
}
}
var_mp($dataList);
輸出如下:
array(size=2)
0=>
array(size=1)
'phone'=>string'135****8956'(length=11)
1=>
array(size=1)
'phone'=>string'159****7845'(length=11)
② .PHP加星號是什麼意思
*.php 表示所有的php文件
*.txt 表示所有的txt文件
*號就是通配符,表示任意字元
③ 請教個 php 字元串部分內容替換為星號的代碼
1、替換字元串中的123
$str = "123abc123";
echo str_replace('123', '***', $str);
2、替換字元串其中一段
$num = "13966778888";
echo substr_replace($num,'****',3,4);
④ php隱藏IP地址後兩位顯示為星號的方法
本文實例講述了php隱藏IP地址後兩位顯示為星號的方法。分享給大家供大家參考。具體實現方法如下:
我們在很多的公共網站中都會有碰到顯示用戶的IP時後面幾個IP段顯示為星號了,這樣很好的保護了用戶隱私了,感興趣的朋友可以一起來看看。
php正則格式化IP地址,隱藏後一位。
例子
復制代碼
代碼如下:<?php
//隱藏後一位
return
preg_replace('/(\d+)\.(\d+)\.(\d+)\.(\d+)/is',"$1.$2.$3.*",$ip);
//隱藏IP最後幾位為*
echo
ereg_replace("[^\.]{1,3}$","*",$ip);
?>
例子
php實現隱藏Ip地址最後一段或者最後兩段的方法
復制代碼
代碼如下:<?php
//--隱藏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程序設計有所幫助。
⑤ php 郵箱@前面留2位 其餘用*號替換 @後面的全顯示出來
/**
*只保留字元串首尾字元,隱藏中間用*代替(兩個字元時只顯示第一個)
*@paramstring$user_name姓名
*@returnstring格式化後的姓名
*/
functionsubstr_cut($user_name){
$strlen=mb_strlen($user_name,'utf-8');
$firstStr=mb_substr($user_name,0,1,'utf-8');
$lastStr=mb_substr($user_name,-1,1,'utf-8');
return$strlen==2?$firstStr.str_repeat('*',mb_strlen($user_name,'utf-8')-1):$firstStr.str_repeat("*",$strlen-2).$lastStr;
}
⑥ php函數 輸出一手機號中間五位用星號代替 怎麼寫啊
網站展示用戶隱私數據的時候,需要安全處理。比如:對手機號碼中間五位或多位進行*號替換。PHP常用處理的方式有兩種,一種是用substr進行截取,然後拼接*號;另一種是使用正則替換。示例代碼如下:
//index.php
<?php
header("Content-type:text/html;charset=utf-8;");
//測試
//純手機號碼
$phone="10021012110";
echophoneSafeDeal($phone);
echo"<br/>";
$phoneStr="聯系方式:10021012110";
echophoneSafeDeal($phoneStr,true);
/**
*手機號碼安全處理(中間五位用*代替)
*
*@paramString$phone
*@paramboolean$string
*/
functionphoneSafeDeal($phone,$flag=false){
//字元串中包含手機號碼替換
if($flag){
returnpreg_replace('/(d{3})d{5}(d{3})/','${1}*****${2}',$phone);
}else{
//純手機號碼處理
returnsubstr($phone,0,3)."*****".substr($phone,8,3);
}
}運行結果:
⑦ 我有一組數字,請問我該怎麼用php只顯示後4碼,前面的則用星號取代
functionfunc($str){
$len=strlen($str);
if($len<=4){
return$str;
}
returnstr_repeat('*',$len-4).substr($str,-4);
}
echofunc('87654321');//****4321
⑧ PHP 只保留前前兩個漢字 其他用*代替 前兩個中間可能有別的字元
思路:
獲取待處理字元串的字元個數,遍歷該字元串,如果是中文則保留(前兩個)其他的全部用'*'代替,返回最終結果。
代碼:
$str='ni年aho年dd後';//待處理字元串
$ret_zh_count=0;//
$str_count=strlen($str);//字元個數
if($str_count>0){
for($i=0;$i<$str_count;$i++){
$str_i=mb_substr($str,$i,1);//獲取字元串中的第$i個字元
if(preg_match('/^[x{4e00}-x{9fa5}]+$/u',$str_i)&&$ret_zh_count<2){//判斷是否為漢字且處理了2次
$ret.=$str_i;
$ret_zh_count++;
}else{
$ret.='*';
}
}
}
輸出:
**年***年***
⑨ 在php中插入什麼代碼讓用戶名變星號
把用戶名用*替換一下
如果要顯示部分用戶名和星號就截取一段加星號。
⑩ php 輸出列表 用*星號 隱藏部分字元
<?php
echosubstr_replace('abcdef','###',1); //輸出a###
echosubstr_replace('abcdef','###',1,2); //輸出a###def
echosubstr_replace('abcdef','###',-3,2); //輸出abc###f
echosubstr_replace('abcdef','###',1,-2); //輸出a###ef
?>
我就講這么多!
剩下你自己活學活用吧