php截取中文无乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    }
}
?>
































以上是关于php截取中文无乱码的主要内容,如果未能解决你的问题,请参考以下文章

php截取中文字符串无乱码的方法

php截取中文字符串

php 怎么截取汉字字符串?

php中截取字符串应当注意啥

php解决中文截取乱码问题

无乱码截取字符串,中英文混合(转)