• 技术文章 >后端开发 >PHP问题

    php怎么将中文替换星号

    藏色散人藏色散人2021-10-19 09:16:19原创59

    php将中文替换星号的方法:1、判断字符中是否包含中文字符;2、使用mb_substr函数将指定中文部分用星号替换即可。

    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

    php怎么将中文替换星号?

    PHP用户名用星号处理

    PHP用户名用*号处理:

    用户名:英文、中文、中英文混合的、中英文字符混合的

    处理为:首字母和末尾保留,中间用*号代替(一个字符直接显示,两个字符:张*,三个以上字符:宋*丹)

    首先判断字符中是否包含中文字符,如果有使用mb_ 系列函数处理(这里的中文使用的是UTF-8格式的)

    UTF-8中文正则:"/[\x{4e00}-\x{9fa5}]+/u"

    GB2312中文正则:"/[".chr(0xa1)."-".chr(0xff)."]+/"

     //判断是否包含中文字符
    if(preg_match("/[\x{4e00}-\x{9fa5}]+/u", $str)) {
        //按照中文字符计算长度
        $len = mb_strlen($str, 'UTF-8');
        //echo '中文';
        if($len >= 3){
            //三个字符或三个字符以上掐头取尾,中间用*代替
            $str = mb_substr($str, 0, 1, 'UTF-8') . '*' . mb_substr($str, -1, 1, 'UTF-8');
        } elseif($len == 2) {
            //两个字符
            $str = mb_substr($str, 0, 1, 'UTF-8') . '*';
        }
    } else {
        //按照英文字串计算长度
        $len = strlen($str);
        //echo 'English';
        if($len >= 3) {
            //三个字符或三个字符以上掐头取尾,中间用*代替
            $str = substr($str, 0, 1) . '*' . substr($str, -1);
        } elseif($len == 2) {
            //两个字符
            $str = substr($str2, 0, 1) . '*';
        }
    }

    推荐学习:《PHP视频教程

    以上就是php怎么将中文替换星号的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php
    上一篇:php怎么将日期转分隔符日期 下一篇:JAVA怎么实现PHP的动态数组
    大前端线上培训班

    相关文章推荐

    • 如何用yii去掉必填项中的星号• 使用CSS 给表单必选项添加星号的实现方法• PHP如何将一个字符串部分字符用星号替代隐藏?• javascript怎么实现字符串替换星号

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网