2011-12-18 79 views
0

有沒有辦法將一個單詞或數字的中間/保留(保留前兩位)數字/字母?空白(X'out)中間數字字母

實施例:

123456789將12XXXXX89或Iamaword = Iaxxxxrd

+3

你吃過看看[內置字符串函數(http://php.net/manual/en/ref.strings.php) ? – Eric 2011-12-18 18:57:45

+0

這是基本的字符串操作。在閱讀答案之前閱讀手冊,以便了解解決方案。 – 2011-12-18 19:01:55

回答

5

我不知道,如果大寫或小寫兩個X是必要的,所以第一行可以爲簡單起見被移除:

$chr = ctype_digit($str) ? 'X' : 'x'; // big X for numbers, x for letters 

$new_str = substr($str, 0, 2) . str_repeat($chr, strlen($str) - 4) . substr($str, -2); 
+0

完美,謝謝。 – user990767 2011-12-18 19:21:54

0

當然。

<?php 

    function secure_str($str) { 
     return substr($str, 0, 2) . str_repeat('X', strlen($str)-4) . substr($str, strlen($str)-2); 
    } 

    echo secure_str("1234567890"); 

?> 
0
function blankit($word) { 
    return substr($word, 0,2). str_repeat("X",strlen($word)-4) . substr($word, strlen($word)-2,strlen($word)); 
} 

echo blankit("abcdefghijklmn"); 

打印

abXXXXXXXXXXmn 
相關問題