怎麼替換一個字串中間的字元?
比如: fdsfdsfdsjkww
替換成:f**********w
比如: 扣分金錫民
替換成:扣***民
比如: 扣分金錫民s
替換成:扣****s
比如: tt扣分金錫民s
替換成:t*****s
回複討論(解決方案)
Replace ( string1, start, string2,n,m )
有亂碼,看到嗎? 亂碼要看你的編碼是什麼 設定正確的編碼
$string='fdsfdsfdsjkww';
echo substr($string,0,1).'*****'.substr($string,$sLeng-1,1);
有亂碼,看到嗎?
如果是使用utf8-編碼,源檔案的編碼、輸出顯示的編碼都要用utf-8 簡單點的
$string='fdsfdsfdsjkww';echo substr_replace($string, str_repeat('*',strlen($string)-2), 1, strlen($string)-2); 注意長度問題,在不同編碼下,中文和英文的位元組會不一樣的,多以長度要計算對了,不然會出現亂碼
$string='fdsfdsfdsjkww';echo substr_replace($string, str_repeat('*',strlen($string)-2), 1, strlen($string)-2);
這個相對比較簡單
substr_replace ? 替換字串的子串
string
輸入字串。
replacement
替換字串。
start
如果 start 為正數,替換將從 string 的 start 位置開始。
如果 start 為負數,替換將從 string 的倒數第 start 個位置開始。
length
如果設定了這個參數並且為正數,表示 string 中被替換的子字串的長度。如果設定為負數,它表示待替換的子字串結尾處距離 string 末端的字元個數。如果沒有提供此參數,那麼它預設為 strlen( string ) (字串的長度)。當然,如果 length 為 0,那麼這個函數的功能為將 replacement 插入到 string 的 start 位置處