这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
本文主要介绍了 php 自定义截取中文字符串的方法,具有很好的参考价值,下面跟着小编一起来看下吧
先说明:网上目前有很多这个问题的代码,但是很多都是复制粘贴,没有自己实践,而且代码有逻辑问题,下面的代码由我自己编写。
话不多说
- /**
- * 该函数是对于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;
- }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持 PHPERZ!
来源: http://www.phperz.com/article/17/0807/340448.html