/**
* 将字符串拆分为指定最大宽度的字符串数组。单字节字符宽度为1,多字节字符通常宽度为2
* @param string $msg 要拆分的字符串
* @param int $width 结果数组中每个元素的最大宽度。如10代表10个英文字母或者5个汉字
* @param string $enc 字符串编码
*/
function split_str2array_cn($msg,$width,$enc = 'utf-8'){
$msg_width = mb_strwidth($msg,$enc);
if($msg_width <= $width) return array($msg);
$return = array();
$msg_len = mb_strlen($msg,$enc);
for($i = 0;$i<$msg_len;$i++){
$temp_str .= mb_substr($msg,$i,1,$enc);
if(mb_strwidth($temp_str,$enc) >= $width){
array_push($return,$temp_str);
$temp_str = '';
}
}
if($temp_str != '') array_push($return,$temp_str);
return $return;
}