2017-12-24 12 views
-1

こんにちは私は顧客名を隠そうとしていますが、アスタリスクで最後の4文字だけを隠したいのですが、現在このコードはありますが、私は以下のコードを使用して名前を隠すために管理最後の4つをPHPのアスタリスクに置き換えます

$arr[$idx]['consignee'] = $row['consignee']; 

をしたいが、それは非表示になり、すべての4

  $arr[$idx]['consignee'] = '1' > 0 ? 
            sub_str($row['consignee'], '5') : $row['consignee']; 

任意のサンプルや提案の後にしてください。この

$arr[$idx]['consignee'] = preg_replace('/.{4}$/', '****', $arr[$idx]['consignee']); 

同様

+0

同様の質問に関するいくつかのアドバイス:https://stackoverflow.com/a/43904214/2943403 – mickmackusa

答えて

1

$idx = 0;   
$arr = [[ 
    'consignee' => 'someguy' 
]]; 

$arr[$idx]['consignee'] = substr($arr[$idx]['consignee'], 0, -4).'****'; 

echo $arr[$idx]['consignee']; 

Tをテストするための(REGXはやり過ぎだと思うものについて)here online

OR SUBSTR

$arr[$idx]['consignee'] = substr($arr[$idx]['consignee'], 0, -4).'****'; 

を試してみようry it here online

+0

これは動作しますが、正規表現はここでは過剰です。 – JJJ

+0

文字列全体が4文字未満の場合はどうなりますか? Preg_replaceは何も置き換えず、名前を公開します。量を調整するだけかもしれません。 – mickmackusa

関連する問題