菜单

php mb_substr函数截取中文字符串应用示范_php技能_脚本之家

2020年1月23日 - 澳门太阳娱乐手机登录

substr()函数用来截取字符串,但是对于中文字符会出现问题,而mb_substr()和mb_strcut这两个函数可以,用法与substr()相似,只是在函数最后要加入多一个参数,以设定字符串的编码,使用这两个函数需要在php.ini中把php_mbstring.dll打开。

php默认是不支持mb_strlen()函数的,需要安装扩展模块。安装方法如下:

';echo mb_substr.'...';echo mb_strcut.'...';?>

yum install php-mbstring

21你好我好…你…

找到mbstring.so的位置,可以使用rpm -ql 安装的rpm名

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

澳门太阳娱乐手机登录,修改/etc/php.ini配置文件,增加

extension=php_mbstring.so

并确保php_mbstring.so模块在extension_dir =
“/usr/lib64/php/modules”配置所指的路径里。

原文:

当字符全是英文字符的时候,两者是一样。这里主要比较一下,中英文混排的时候,两个计算结果。(测试时编码方式是UTF8) 

<?php  $str=‘中文a字1符‘;  echo strlen($str);  echo ‘<br />‘;  echo mb_strlen($str,‘UTF8‘);  //输出结果  //14  //6  ?> 

结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以“中文a字1符”长度是3*4+2=14
在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算,所以“中文a字1符”长度是6 

引用自:

mb_substr()函数的使用:

PHP截取字符串的函数有:substr() / mb_substr() / mb_strcut()

这些字符串的区别是什么呢?

mb_substr()、mb_strcut的用法与substr()相似,只是在mb_substr()、mb_strcut()函数后面要指定字符串的编码。mb_substr()、mb_strcut函数是需要打开服务器的php_mbstring.dll,在php.ini在把php_mbstring.dll打开即可。

 

mb_substr是按字符分割,而mb_strcut是按字节来分割,但是都不会产生半个字符的现象。

例如:

  1. $aaa = “this这是中文字符串”;
  2. echo mb_substr($aaa,0,6,’UTF-8′);//输出值为: this这是
  3. echo mb_strcut($aaa,0,6,’UTF-8′);//输出值为:this这

引用自:


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图