PHP 截取中文不乱码函数!

@Ta 2014-12-06 5785点击
<?php
function jiequ($str,$len){

/**
* 1110 0110
* & 1111 1100 1110 0100
* & 1111 1000 1110 0000
* & 1111 0000 1110 0000
* & 1110 0000 1110 0000
* ......
*/
$length=strlen($str);
$restr='';
$sum=0;
while ($i<$len && $i<$length){
$decimal=ord((substr($str,$sum,1)));
//echo $decimal.'<br />';
if($decimal<128){

$num=1;
}else if(($decimal & 252)==252){

// 252 binary 1111 1100
$num=6;

}else if(($decimal & 248)==248){
// 248 binary 1111 1000
$num=5;

}else if(($decimal & 240)==240){

//240 binary 1111 0000
$num=4;

}else if(($decimal & 224)==224){
// 224 binary 1110 0000
$num=3;
}else if(($decimal & 192)==192){
// 192 binary 1100 0000
$num=2;

}
//echo $num.'<br />';

$restr.=substr ($str,$sum,$num);
$sum+=$num;
$i++;
}

return $restr;

}
echo jiequ('测试asdggd hh',100);

?>
回复列表(10|隐藏机器人聊天)
添加新回复
回复需要登录