您的位置:首页 > 编程语言 > PHP开发

PHP之随机截取汉字

2017-11-30 21:12 465 查看
一个汉字会因为编码不同,占的字符数量会不同,会是2或者3个字符!

<\?php

function getH($str){

// 利用preg_split函数,将汉字字符串拆分成数组,第一个参数是正则匹配,必须加上u,因为是utf8编码

// 这里不能使用substr或者mb_substr等,因为这些方法是针对字符有效的,汉字占2或者3个字符

$str = preg_split(‘//u’, $str, -1, PREG_SPLIT_NO_EMPTY);

// 利用shuffle函数,打乱汉字数组
// 不能使用str_shuffle函数,因为那个是打乱字符的
shuffle($str);

// 从数组中截取前4个元素,得到的就是一个汉字数组
$str = array_slice($str, 0,4);

// implode:将数组拼凑成字符串
$str = implode('', $str);
return  $str;


}

$str = ‘游乐儿浪漫樱花王锦胜’;

getH($str);

?>

以上方法是固定的截取长度,只是随机的把汉字字符串打乱截取;

总结

一、中文截取:mb_substr()

mb_substr( $str, $start, $length, $encoding )

$str,需要截断的字符串

$start,截断开始处,起始处为0

$length,要截取的字数

$encoding,网页编码,如utf-8,GB2312,GBK

二、获取中文长度:mb_strlen()

mb_strlen( $str, $encoding )

$str,要计算长度的字符串

$encoding,网页编码,如utf-8,GB2312,GBK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php