PHP替换字符串的中间部分,支持保留左右正常显示的长度,支持中文
/**
 * 替换字符串的中间部分
 * @param $str string 输入字符串
 * @param $replaceChar string 要替换的单个字符
 * @param $leftLen int 左边保留正常显示的长度
 * @param $rightLen int 右面保留正常显示的长度
 * @param $notEnoughReplace bool  计算后要替换的字符串长度不足时,输入的字符串是否进行整体替换
 * @return string
 */
function strReplaceMiddle($str, $replaceChar = '*', $leftLen = 3, $rightLen = 3, $notEnoughReplace = true)
{
    $len = mb_strlen($str);
    $replaceLen = $len - $leftLen - $rightLen;

    if ($replaceLen > 0) {
        $replaceStr = str_repeat($replaceChar, $replaceLen);
    } else {
        //计算后要替换的字符串长度不足时,$replaceLen = $len - $frontLen - $backLen;
        $replaceStr = str_repeat($replaceChar, $len);
        return $notEnoughReplace ? $replaceStr : $str;
    }
    return mb_substr($str, 0, $leftLen) . $replaceStr . mb_substr($str, $leftLen + $replaceLen);
}

/**
demo
"卡号11138162993;卡密A839100416104B"
"卡号11138162**********100416104B"
*/

支持中文,中文算1个长度

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇