php怎么将中文替换星号
时间:2021-10-27 来源:互联网
今天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爱好者其它相关文章!
-
蜜桃国产剧TV高清在线看入口-蜜桃影视永久免费观看入口 2025-12-15 -
歪歪漫画a漫入口导航站-歪歪漫画a漫入口热门佳作精选 2025-12-15 -
骗社保是什么梗?揭秘年轻人调侃职场的新式幽默,看完秒懂! 2025-12-15 -
异地登录账号被限制?原因与解决方法全解析 2025-12-15 -
云原神网页版入口:米哈游官网一键直达原神云游戏2026 2025-12-15 -
非麻瓜漫画入口精选-非麻瓜漫画入口热作合集一网打尽 2025-12-15