首页 > php函数 > php mb_substr实现中文字符串截取无乱码的方法

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

在网上看到有很多字符截取函数大仔细研究了一下发现所有的都是针对编码问题进行处理了,下面我们看一个简化的函数,希望对大家有帮助。

注意:在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到 

;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了

例子

<?php 
$str = '这样一来我的字符串就不会有乱码^_^';
echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); 
//结果:这样一来我的字 
echo "<br>";
echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); 
//结果:这样 
?>

从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。

<?php
/**
 *   实现中文字串截取无乱码的方法
 */
function getSubstr($string, $start, $length) {
    if(mb_strlen($string,'utf-8')>$length){
        $str = mb_substr($string, $start, $length,'utf-8'); 
        return $str.'...';
    }else{
            return $string;
    }
}
?>


本文地址:http://www.phprm.com/function/63330.html

转载随意,但请附上文章地址:-)

标签:substr

相关文章

发表留言