Maison >php教程 >php手册 >php mb_substr实现中文字符串截取无乱码的方法

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

WBOY
WBOYoriginal
2016-05-24 13:25:27898parcourir

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

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

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

php例子代码如下:

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

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

/** 
 *   实现中文字串截取无乱码的方法 
 */ 
function getSubstr($string, $start, $length) { 
    if(mb_strlen($string,&#39;utf-8&#39;)>$length){ 
        $str = mb_substr($string, $start, $length,&#39;utf-8&#39;);  
        return $str.&#39;...&#39;;//开源代码phprm.com 
    }else{
        return $string; 
    }
}


教程链接:

随意转载~但请保留教程地址★

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn