php自定义截取中文字符串-utf8版
2017-02-27 00:00
633 查看
先说明:网上目前有很多这个问题的代码,但是很多都是复制粘贴,没有自己实践,而且代码有逻辑问题,下面的代码由我自己编写。
话不多说
/** * 该函数是对于utf8编码 * @author 2582308253@qq.com * @param string $str * @param int $start * @param int $length * @return string * @copyright 2017年2月27日下午1:46:10 */ function gbsubstr2($str, $start, $length) { $length = abs($length); $strLen = strlen($str); $len = $start + $length; $newStr = ''; for($i = $start; $i < $len && $i < $strLen; $i++) { if(ord(substr($str, $i, 1)) > 0xa0) { //utf8编码中一个汉字是占据3个字节的,对于其他的编码的字符串,中文占据的字节各有不同,自己需要去修改这个数a $newStr .= substr($str, $i, 3);//此处a=3; $i+=2; $len += 2; //截取了三个字节之后,截取字符串的终止偏移量也要随着每次汉字的截取增加a-1; } else { $newStr .= substr($str, $i, 1); } } return $newStr; }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- PHP基础12-自定义函数截取中文字符串
- php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
- PHP----字符串(支持中文和其它编码)截取,后加自定义标识符
- php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
- PHP计算中文字符串长度 、截取相应中文字符串
- php字符串截取函数,支持中文截取
- php 中文字符串截取
- 用php截取utf-8中文字符串乱码的解决方法
- php中文字符串截取乱码问题解决
- php截取中文字符串
- php截取中文字符串无乱码的函数(主函数:ord()、substr())
- 解决PHP截取中文字符串问题
- PHP_substr()函数_截取字符串_定义chinesesubstr()函数处理_英文截取_中文截取
- (实用篇)php中计算中文字符串长度、截取中文字符串的函数代码
- php截取中文字符串不乱码的方法
- php截取中文字符串不乱码的方法
- PHP中一个中文字符串截取函数
- PHP 中文字符串截取
- php截取中文字符串 GB2312 utf-8
- php mb_substr()函数截取中文字符串