簡體   English   中英

你如何在php中用星號替換除最后4個字符之外的所有字符

[英]How do you replace all characters except last 4 with asterisks in php

我有一個名為$CARD_NUM的變量,它可以包含超過 4 的任意數量的數字。

如何用星號 (*) 替換此字符串中除最后 4 個字符之外的所有字符?

例如,如果:

$CARD_NUM = '123456789012'

結果字符串應該是:

********9012

如果保證變量至少有 4 位長,那么

$CARD_NUM = "123456789012";
echo str_repeat('*', strlen($CARD_NUM) - 4) . substr($CARD_NUM, -4);

// or, as DougW suggested in a comment, if the string is NOT guaranteed to be at least 4 digits
// echo str_repeat('*', MAX(4, strlen($CARD_NUM)) - 4) . substr($CARD_NUM, -4);

應該這樣做, 看看它在行動!

嘗試這個:

$CARD_NUM = "123456789012";
$replacement = '*';
echo preg_replace('/\d(?=\d{4})/m', $replacement, $CARD_NUM);

如果您只想查看 2 或 3 位數字,只需將'/\d(?=\d{4})/m'中的4替換為您想要的任何位數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM