`Laravel`版`小丑路人社区`改版中,与`Hyperf版小丑路人社区`数据互动,此版本改版中……尚未彻底完结!

Q:

文本隐藏:保留字符串前多少位与后多少位,隐藏中间用*代替(两个字符时只显示第一个)

if ( !function_exists('text_hidden') ) {
    /**
     * 文本隐藏:保留字符串前多少位与后多少位,隐藏中间用*代替(两个字符时只显示第一个)
     *
     * @param  string  $text
     * @param  int     $show_length  前后展示文本的长度
     *
     * @return string
     */
    function text_hidden(string $text, int $show_length = 2)
    {
        $strlen = mb_strlen($text, 'utf-8');
        if ($strlen <= 1) return $text;
        if ($strlen <= 4){
            $show_length = 1;
        }
        $firstStr = mb_substr($text, 0, $show_length, 'utf-8');
        $lastStr = mb_substr($text, -$show_length, $show_length, 'utf-8');
        if ($strlen == 2){
            return $firstStr . str_repeat('*', mb_strlen($text, 'utf-8') - $show_length);
        }else{
            return $firstStr . str_repeat("*", $strlen - $show_length * 2) . $lastStr;
        }
    }
}
PHP
订阅

评论记录


评论/回复