首页 > Web开发 > 详细

PHP中文名加密

时间:2019-06-12 14:46:00      阅读:129      评论:0      收藏:0      [点我收藏+]
<?php
function encryptName($name) {
    $encrypt_name = '';
    //判断是否包含中文字符
    if(preg_match("/[\x{4e00}-\x{9fa5}]+/u", $name)) {
        //按照中文字符计算长度
        $len = mb_strlen($name, 'UTF-8');
        //echo '中文';
        if($len >= 3){
            //三个字符或三个字符以上掐头取尾,中间用*代替
            $encrypt_name = mb_substr($name, 0, 1, 'UTF-8') .str_repeat('*',$len-2). mb_substr($name, -1, 1, 'UTF-8');
        } elseif($len === 2) {
            //两个字符
            $encrypt_name = mb_substr($name, 0, 1, 'UTF-8') . '*';
        }
    } else {
        //按照英文字串计算长度
        $len = strlen($name);
        //echo 'English';
        if($len >= 3) {
            //三个字符或三个字符以上掐头取尾,中间用*代替
            $encrypt_name = substr($name, 0, 1)  .str_repeat('*',$len-2). substr($name, -1);
        } elseif($len === 2) {
            //两个字符
            $encrypt_name = substr($name, 0, 1) . '*';
        }
    }
    return $encrypt_name;
}

echo encryptName('张三').PHP_EOL;
echo encryptName('诸葛亮').PHP_EOL;
echo encryptName('西门飘雪').PHP_EOL;
echo encryptName('Eden').PHP_EOL;
张*
诸*亮
西**雪
E**n

PHP中文名加密

原文:https://www.cnblogs.com/jiqing9006/p/11009184.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!