首页 > 代码库 > php中文截取无乱码

php中文截取无乱码

<?php
header(‘Content-Type:text/html;charset=utf-8‘);
function cutstr($str,$len){
    if($len<0){return null;}
    $chars = 0; //字符数量
    $offset = 0;
    $res = ‘‘;

        while($chars < $len){
            $high = decbin(ord(substr($str,$offset,1)));
            
            if(strlen($high) < 8){
                $count = 1;
            }else if(substr($high,0,3) == ‘110‘){
                $count = 2;
            }else if(substr($high,0,4)== ‘1110‘){
                $count = 3;
            }
            echo $count.‘<br/>‘;
            $res .= substr($str,$offset,$count);
            $chars += 1;
            $offset += $count;
        }
        return $res;
    }
$str = ‘你好aaaaa‘;
echo cutstr($str,2);

 ?>