php切割中文字符串的函数

php切割中文字符串的函数

//切割中文字串
function gb_substr($str,$start=0,$len=-1)
{
$enCount = 0;
$strLen = strlen($str);
$len *= 2;
if($len<0) $len = $strLen;
$strLen = ($len>$strLen)?$strLen:$len;
for($i=0;$i<$strLen;$i++)
if(ord(substr($str,$i,1))<0xa1) $enCount++;
$len = ($len % 2 != 0)?++$len:$len; //$len 必须为偶数
if($enCount % 2 == 0)
$re_str = substr($str,$start,$len);
else
$re_str = substr($str,$start,$len-1);
return $re_str;
}