PHP截取中英文
来源:互联网 发布:班级logo设计软件 编辑:程序博客网 时间:2024/04/29 07:13
代码如下:
/** * @param $string * @param $from 从0开始…… * @param null $length * @return string * c_substr("给我一点", $from=0, 9)>>给我一 * c_substr("给我一点", $from=1, 9)>>我一 * c_substr("给我一点", $from=2, 9)>>我一 * c_substr("给我一点", $from=3, 9)>>我一点 */ private function c_substr($string, $from=0, $length = null){ //必填字段校验 if(!isset($string)||!isset($from)||$from<0){ return ''; } //获得字符串长度 $strLen = strlen($string); //如果没有设置长度则把长度设置为字符串 if($length == null){ $length = $strLen; } //判断字符串长度是否小于等于$length,是则直接返回字符串 if($from == 0&&$length >= $strLen){ return $string; } $subLen = $length + $from; $rtnStr = ""; //开始截取字符串 //为了能够截取完整,需要从头开始遍历 for($i=0;$i<$subLen&&$i<$strLen;$i++){ //判断是否为中文 如果是则在不超长的情况下往后再截2个字节 if(ord($string[$i])>0xa0){ if($i+2<$subLen&&$i+2<$strLen){ $rtnStr .= $string[$i].$string[$i+1].$string[$i+2]; /** * 如 “给我一点” * 从位置0截取9个字节,则只获取“给我一” * 从位置1截取9个字节,则只获取“我一” * 从位置2截取9个字节,则只获取“我一” * 从位置3截取9个字节,则只获取“我一点” * 下面的if是为了跳过开头不完整的字符 */ if($i<$from){ $rtnStr = ""; } $i += 2; } else{ return $rtnStr; } } //英文 else{ $rtnStr .= $string[$i]; } } return $rtnStr; }
0 0
- PHP截取中英文
- PHP截取中英文字符串
- PHP 中英文截取无乱码
- php如何截取中英文字符串
- php截取中英文混合字符串
- iconv_substr截取php中英文混排字符串
- iconv_substr截取php中英文混排字符串
- php截取中英文混合字符串方法
- php混合字符串长度和截取 中英文
- PHP-UTF8中英文截取字符串实例
- php中英文字符串截取函数(包括html)
- 解决php截取中英文不出现乱码
- php截取字符串比较有用的。中英文都可以
- PHP截取字符串---中英文都按一个字符计算
- php截取中英文混合字符串函数以及用法
- PHP 截取指定字数,中英文带html均可使用
- PHP获取中英文混合字符串长度及截取
- PHP中字符串超长的中英文混合截取
- [应用代码] Android 动画特效大全
- CAS 实现的单点登录
- TS流结构学习
- OC-常用的设计模式,引用与传值
- Altium Designer笔记之有效低信号的顶线
- PHP截取中英文
- 自定义togglebutton
- 环境变量
- 快表页表
- xml to datatable
- 多个摄像头同步工作
- linux准备的几样工具
- 程序员保值的五个关键点
- 软件设计之UML—UML的构成[上]