php截取中文无乱码
在PHP中需要对字符串进行截取,如果没有装mb扩展(mb_substr函数),对中文截取就需要进行相应的处理。
下面是对字符串 “世s界s的功s\\\夫萨的mn是非得失sdf dsf dsf 达” 截取10个字符,最后的输出是“世s界s的”,编码均为utf8:
<?php
$ss = '世s界s的功s\\\夫萨的mn是非得失sdf dsf dsf 达';
$aa = CHsubstr($ss, 0, 10);
echo($aa);
function CHsubstr($string, $start, $length)
{
if(strlen($string)>$length)
{
$str='';
$len=$start+$length;
$i = $start;
while($i<$len)
{
if(ord(substr($string, $i, 1))>=128)
{
$str.=substr($string, $i, 3);
$i = $i+ 3;
}
else
{
$str.=substr($string, $i, 1);
$i ++;
}
}
return $str;
}
else
{
return $string;
}
}
?>
拼搏在路上