中英文截取字符串无乱码
来源:互联网 发布:mac怎么设置动态壁纸 编辑:程序博客网 时间:2024/06/05 05:53
//PHP中英文截取无乱码
header(‘Content_type=text/php;charset=UTF-8’);
$str = ‘北京beijing大学’;
//关键在于判断往后截多少个字节上,这是这个函数的核心
//此函数是用客串来判断的,效率不高
//位运算效果会更好
//110x xxxx && 1110 0000 -> 1100 0000
//1110 xxxx && 1111 0000 -> 1110 0000
//位运算时不受英文字符最高位为0的影响,只是在转成字符串才受到影响
function utf8sub($str,$len){
if($len<0){
return ”;
}
$res = ”;
$offset = 0;
$chars = 0;
$count = 0;
$length = strlen($str);//待截取字符串的字节数
while($chars<$len && $offset<$length){
$high = decbin(ord(substr(
//重要突破,已经能够判断高位字节
if(strlen($high)<8){
$count = 1;
}elseif (substr($high,0,3) == ‘110’) {
$count = 2; //取两个字节的长度
}elseif (substr($high,0,4) == ‘1110’) {
$count = 3; //取三个字节的长度
}elseif (substr($high,0,5) == ‘11110’) {
$count = 4;
}elseif (substr($high,0,6) == ‘111110’) {
$count = 5;
}elseif(substr($high,0,7)==’1111110’){
$count = 6;
}
$res .= substr($str,$offset,$count);
$chars +=1;
$offset += $count;
}
return $res;
}
echo utf8sub($str,5);
echo utf8sub($str,10);
- 中英文截取字符串无乱码
- js截取中英文字符串无乱码
- js截取中英文字符串无乱码
- js截取中英文字符串无乱码
- PHP 中英文截取无乱码
- PHP字符串截取,无乱码
- 3.无乱码截取字符串
- PHP字符串截取(无乱码)
- utf-8汉字字符串截取无乱码
- 中文字符串截取无乱码方法定义
- PHP无乱码截取中文字符串
- 中英文字符串截取
- 中英文截取字符串
- 截取中英文混合字符串
- JavaScript截取中英文字符串
- java截取中英文字符串
- 中英文字符串截取
- 截取中英文混合字符串
- 解脱之路
- FastDFS安装、配置、部署(二)-Tracker配置详解
- 复合类型与with关键字
- 编译时出现set but not used [-Werror=unused-but-set-variable]问题的解决办法
- OSI七层网络模型与TCP/IP四层网络模型
- 中英文截取字符串无乱码
- 后台模板界面
- java 遍历泛型的方法
- 2012年5月SAT香港真题解析
- 常见的面试问题及回答注意事项
- JavaScript 表单验证
- java 遍历泛型的方法
- FastDFS安装、配置、部署(三)-Storage配置详解
- iOS定位操作和经纬度距离计算