php怎么将中文替换星号

php怎么将中文替换星号,第1张

php怎么将中文替换星号

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怎么将中文替换星号的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/680750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-20
下一篇 2022-04-20

发表评论

登录后才能评论

评论列表(0条)

保存