Maison >développement back-end >tutoriel php >mb_substr中文的截取小知识_PHP教程

mb_substr中文的截取小知识_PHP教程

WBOY
WBOYoriginal
2016-07-13 17:06:18907parcourir

mb_substr函数是substr函数的升级版,mb_substr支持中文截取并且不会出现乱码问题,下面我来介绍一下mb_substr基础知识。

 代码如下 复制代码

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

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


在实际使用过程中需要和mb_strlen配合使用,mb_strlen的使用方法和strlen类似,只是多了一个编码参数:mb_strlen("我是要被计算长度的字符", "gbk");结果是11。

详细的使用例子:

比如字符串超过20个就需要截取:

 代码如下 复制代码

if(mb_strlen($str, "gbk") >20)

{

  $str = mb_substr($str, 0, 20, "gbk");

}


注意:

确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面。

2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到
;extension=php_mbstring.dll把前面的;号去掉,这样mb_substr函数就可以生效了

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/630698.htmlTechArticlemb_substr函数是substr函数的升级版,mb_substr支持中文截取并且不会出现乱码问题,下面我来介绍一下mb_substr基础知识。 例 代码如下 复制代码...
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