浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2015-01-24信息快讯网
本篇文章是对PHP中的substr,mb_substr以及mb_strcut区别和用法进行了详细的分析介绍,需要的朋友参考下
PHP substr()函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mb_substr()/mb_strcut这个函数,mb_substr() /mb_strcut的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,但是 一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。举个例子:
<?php echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); ?>
输出:这样一来我的字
<?php echo mb_strcut('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); ?>
输出:这样一
从上面的例子可以看出,mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象……
mbstring 函数的说明:
php的mbstring扩展模块提供了多字节字符的处理能力,平常最常用的就是用mbstring来切分多字节的中文字符,这样可以避免出现半个字符的情况,由于是php的扩展,它的性能也要比一些自定义的多字节切分函数要好上一些。
mbstring extension提供了几个功能类似的函数,mb_substr和mb_strcut,看看手册上对它们的解释。
mb_substr mb_substr() returns the portion of str specified by the start and length parameters. mb_substr() performs multi-byte safe substr() operation based on number of characters. Position is counted from the beginning of str. First character's position is 0. Second character position is 1, and so on. mb_strcut mb_strcut() returns the portion of str specified by the start and length parameters. mb_strcut() performs equivalent operation as mb_substr() with different method. If start position is multi-byte character's second byte or larger, it starts from first byte of multi-byte character. It subtracts string from str that is shorter than length AND character that is not part of multi-byte string or not being middle of shift sequence.
再举个例子,有一段文字, 分别用mb_substr和mb_strcut来做切分:
PLAIN TEXT
CODE:
<?php $str = '我是一串比较长的中文-www.webjx.com'; echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8'); echo "<br>"; echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); ?>
输出结果如下:
mb_substr:我是一串比较
mb_strcut:我是
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
php中simplexml_load_string使用实例分享
php中的filesystem文件系统函数介绍及使用示例
php发送post请求的三种方法
更改localhost为其他名字的方法
php stripslashes和addslashes的区别
PHP下获取上个月、下个月、本月的日期(strtotime,date)
linux系统下php安装mbstring扩展的二种方法
php使用mb_check_encoding检查字符串在指定的编码里是否有效
php number_format() 函数通过千位分组来格式化数字的实现代码
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
AJAX的跨域访问-两种有效的解决方法介绍
PHP中mb_convert_encoding与iconv函数的深入解析
解析zend studio中直接导入svn中的项目的方法步骤
解析php函数method_exists()与is_callable()的区别
解析smarty 截取字符串函数 truncate的用法介绍
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
IIS+fastcgi下PHP运行超时问题的解决办法详解
解析使用substr截取UTF-8中文字符串出现乱码的问题
php读取二进制流(C语言结构体struct数据文件)的深入解析
PHP stripos()函数及注意事项的分析
基于session_unset与session_destroy的区别详解
基于Linux调试工具strace与gdb的常用命令总结
『PHP』PHP截断函数mb_substr()使用介绍
PDO版本问题 Invalid parameter number: no parameters were bound