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);
}
$str = ‘游乐儿浪漫樱花王锦胜’;
getH($str);
?>
以上方法是固定的截取长度,只是随机的把汉字字符串打乱截取;
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
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之随机截取汉字
- PHP截取各种编码的汉字字符串
- php 截取UTF-8 GBK汉字
- PHP截取带有汉字的字符串,将汉字按两个字节计算
- PHP截取汉字乱码问题解决方法mb_substr函数的应用
- php 汉字截取
- php随机生成汉字实现方法
- gb2312汉字截取乱码 UTF8 中文乱码 汉字截取乱码 PHP截取汉字乱码
- PHP截取字符串---汉字算2个字符并且防止截出乱码
- PHP截取汉字乱码问题
- php 汉字截取
- 老话重提--PHP中汉字截取
- 自动识别汉字的PHP截取字符串函数
- PHP中汉字截取
- 【CodeBase】【转】php随机生成汉字
- PHP截取汉字乱码问题解决方法mb_substr函数的应用
- ***PHP各种编码的汉字字符串截取
- php 对中文字符串的处理- 随机取出指定个数的汉字
- PHP随机生成N个汉字的实现方法(含代码)
- php汉字字符串长度和截取