ホームページ  >  記事  >  バックエンド開発  >  PHP はアスタリスクを使用して、一部のユーザー名、ID カード、IP、携帯電話番号などを非表示にします。_PHP チュートリアル

PHP はアスタリスクを使用して、一部のユーザー名、ID カード、IP、携帯電話番号などを非表示にします。_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:34:27946ブラウズ

1. 淘宝網のレビューと購入記録を模倣してユーザー名の一部を非表示にする次のコードは個人テストに利用できます。

コードをコピーします コードは次のとおりです:
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)); $sublen));

}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$ tmpstr = '';

ord(substr($ string、$ i、1))> 129)

;

strlen)$ tmpstr。= "...";


コードをコピー

コードは次のとおりです:

$str = "如来掌";
echo Cut_str($str, 1, 0).'**'.cut_str($str, 1, -1) ;
//出力: 手のひらのような



2. PHP ID番号の下4桁はアスタリスクで隠されています

非常に単純な質問ですが、IDカード番号と誕生日の4桁を非表示にしたいのですが、最初に機能を確認したときは表示されませんでした。面倒なのでネットで調べたら直接処理できる関数があることがわかったのでメモしておきます:
substr_replace() 関数の紹介:


コードは次のとおりです:
定義と使用法substr_replace() 関数は、文字列の一部を別の文字列に置き換えます。 構文substr_replace(string,replacement,start,length)
パラメータの説明
string 必須。チェックする文字列を指定します。
交換
が必要です。挿入する文字列を指定します。
開始必須。文字列内のどこから置換を開始するかを指定します。

正の数 - 開始オフセットで置換を開始します。
負の数 - 文字列の末尾からの開始オフセットで置換を開始します。

0 - 文字列の最初の文字で置換を開始します。

長さ
オプション。置換する文字数を指定します。
正の数値 - 置換される文字列の長さ

負の数値 - 文字列の末尾から置換される文字数 0 - 置換ではなく挿入
使用例:



コードをコピー

コードは次のとおりです:


[code]
echo strlen($idcard)==15?substr_replace($idcard,"****",8,4 ):( strlen($idcard)==18?substr_replace($idcard,"****",10,4):"IDカードの枚数が異常です!");

[/コード]

3. IP の最後の桁をアスタリスクに置き換えます

次のように、IP の最後の桁をアスタリスク コードに置き換えます:
方法 1:

コードをコピーします コードは次のとおりです:

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

方法 2:
コード コードは次のとおりです:

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

4. * アスタリスクを使用して携帯電話番号を非表示にする 5 つの方法

コードをコピーします コードは次のとおりです:
//方法 1
function mobile_asterisk($mobile)
{
$mobile_asterisk = substr($mobile,0,4)."****" .substr($ mobile,8,3);
return $mobile_asterisk;
}
echo mobile_asterisk("15810904579");
//方法 2
echo preg_replace("/(1d{1,4})dddd(d{ 3,4} )/", "$1****$2", "15810904579");

//メソッド 3
$haoma="15012345678";
echo preg_replace("/(d{3})d{5}/","$1*****",$haoma); *****678

// 方法 4 t $ tel1 = "13888111188";

$ tel2 = "+8613888111188"; /','\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), 「ん」;

//方法5
//電話番号の真ん中の4桁をシールドする
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);

**** $ 2 '、$電話);


http://www.bkjia.com/PHPjc/750856.html


www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/750856.html

技術記事 1. 淘宝網のレビューと購入記録を模倣してユーザー名の一部を非表示にする 次のコードは個人テストに使用できます。 コードをコピーします。 コードは次のとおりです。 function Cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。