php将长字符串拆分为指定最大宽度的字符串数组

    /** 
     * 将字符串拆分为指定最大宽度的字符串数组。单字节字符宽度为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;
    }               

 

php将长字符串拆分为指定最大宽度的字符串数组,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。