中文截取无乱码的PHP
来源:互联网 发布:阿波罗20号 知乎 编辑:程序博客网 时间:2024/05/17 06:49
<?php//http://blog.1dnet.net//$str 待截取的字符串//$len 截取的字符个数//$chars 已经截取的字符数//$res 保存的字符串//$chars 保存已经截取的字符串个数//$offset 截取的偏移量//$length 字符串的字节数//若$len>$str的字符个数,造成无谓的while循环,($offset<$length限定)function utf8sub($str,$len){ if($len<=0){ return ; } $res=""; $offset=0; $chars=0; $length=strlen($str); while($chars<$len && $offset<$length){ $hign=decbin(ord(substr($str,$offset,1))); if(strlen($hign)<8){ $count=1; }elseif(substr($hign,0,3)=="110"){ $count=2; }elseif(substr($hign,0,4)=="1110"){ $count=3; }elseif(substr($hign,0,5)=="11110"){ $count=4; }elseif(substr($hign,0,6)=="111110"){ $count=5; }elseif(substr($hign,0,7)=="1111110"){ $count=6; } $res.=substr($str,$offset,$count); $offset+=$count; $chars+=1; } return $res;}function utf8sub1($str,$len){ $chars=0; $res=""; $offset=0; $length=strlen($str); while($chars<$len && $offset<$length){ $hign=decbin(ord(substr($str,$offset,1))); if(strlen($hign)<8){ $count=1; }elseif($hign & "11100000"=="11000000"){ $count=2; }elseif($hign & "11110000"=="11100000"){ $count=3; }elseif($hign & "11111000"=="11110000"){ $count=4; }elseif($hign & "11111100"=="11111000"){ $count=5; }elseif($hign & "11111110"=="11111100"){ $count=6; } $res.=substr($str,$offset,$count); $chars++; $offset+=$count; } return $res;}$a="中华ah人民hdj";echo utf8sub($a,5);?>
本文章来至源码世界 http://www.ymsky.net/views/51223.shtml
0 0
- 中文截取无乱码的PHP
- 中文截取无乱码的PHP方法
- php截取中文无乱码
- PHP截取中文无乱码
- php中文截取无乱码
- PHP 中文无乱码截取
- PHP实现中文字串截取无乱码的方法
- 实现中文字串截取无乱码的方法php
- PHP实现中文字串截取无乱码的方法
- php 实现中文字串截取无乱码的方法
- PHP实现中文字串截取无乱码的方法…
- php实现中文字串截取无乱码的方法
- PHP截取中文字符无乱码 mb_substr()
- PHP无乱码截取中文字符串
- PHP实现中文字串截取无乱码
- PHP 中文字符串截取无乱码的方法以及php汉字截取函数_preg_split()
- 中文截取无乱码
- 中文字串截取无乱码的问题
- 什么是IaaS, PaaS和SaaS及其区别
- 15款常用的测试管理工具
- 逐行删除文件中的内容
- 会说话的HTML--语义化杂谭-TGideas-腾讯游戏官方设计团队
- 设置微信分享的标题 缩略图 连接 描述
- 中文截取无乱码的PHP
- VIM速查卡
- MATLAB中regionprops的用法
- 在Win8.1系统下如何安装运行SQL Server 2005
- CF 270D 最长不下降子序列 优化
- CNAME
- 操作系统的功能
- Android判断当前界面是否是桌面(主页)
- 解决ADT大量出现"Unexpected value from nativeGetEnabledTags: 0"的问题