1. 程式人生 > >PHP只保留字串首尾字元,隱藏中間用*代替(兩個字元時只顯示第一個)

PHP只保留字串首尾字元,隱藏中間用*代替(兩個字元時只顯示第一個)

/**
 * 只保留字串首尾字元,隱藏中間用*代替(兩個字元時只顯示第一個)
 * @param  [string] $user_name 字串
 * @param  [int] $head      左側保留位數
 * @param  [int] $foot      右側保留位數
 * @return string 格式化後的姓名
 */
static function substr_cut($user_name,$head,$foot){
    $strlen     = mb_strlen($user_name, 'utf-8');
    $firstStr     = mb_substr
($user_name, 0, $head, 'utf-8'); $lastStr = mb_substr($user_name, -$foot, $foot, 'utf-8'); return $strlen == 2 ? $firstStr . str_repeat('*', mb_strlen($user_name, 'utf-8') - 1) : $firstStr . str_repeat("*", $strlen - ($head+$foot)) . $lastStr; }