php字符串脱敏

$str = 'name';

转换为'n**e'

使用下面方法:

$str = 'name';
return self::actionIndex($str,1,strlen($str)-2,'*');
    /**
     * 脱敏
     * @param $string
     * @param $start
     * @param $length
     * @param $re
     * @return string
     */
    function actionIndex($string, $start = 0, $length = 0, $re = '*')
    {
        if (empty($string) || empty($length) || empty($re)) return $string;
        $end = $start + $length;
        $strlen = mb_strlen($string);
        $str_arr = array();
        for ($i = 0; $i < $strlen; $i++) {
            if ($i >= $start && $i < $end)
                $str_arr[] = $re;
            else
                $str_arr[] = mb_substr($string, $i, 1);
        }
        return implode('', $str_arr);
    }

  

posted @ 2022-08-25 10:15  使用D  阅读(244)  评论(0编辑  收藏  举报