正确的UTF-8字符串解析PHP技术应用
复制代码代码如下所示:
< PHP
*
程序功能,str是一个混合的UTF-8编码的中文和英文字符串,
此字符串解码并显示正确按UTF-8编码规则。
* /
今天很开心,都决定去肯德基吃可乐鸡翅!!!
*
$ STR是要截取的字符串。
$是截取字符的数目。
* /
功能utf8sub($str,$ len){
如果($ < = 0){
返回' ';
}
$ = 0;高字节偏移侦听
$ char = 0; /截取字符数
$ =存储拦截结果字符串
当($ char)
第一个字节字符串
它将是
然后转换为二进制
高=美元ORD(substr($str,抵消美元,1));
高=。$高/ 回声;
如果(高= = NULL){如果您删除了高NULL,已采取的结束,直接打破
打破;
}
如果(($高> > 2)= 0x3f){ / /高移2位,和111111的二进制比较,同样是6个字节
截取 2字节
$=6;
} else if(($高> > 3)= 0x1F){ / /高移2位,和11111的二进制比较,同样是5个字节
截取 3字节
$=5;
} else if(($高> > 4)= 0xf){ / /高移2位,和1111的二进制比较,同样是4个字节
截取 4字节
$=4;
} else if(($高> > 5)= 0x7){ / /高移2位,和111的二进制比较,同样是3个字节
截取 5字节
$=3;
} else if(($高> > 6)= 0x3){ / /高移2位,和11的二进制比较,同样是2个字节
截取 6字节
$=2;
} else if(($高> > 7)= 0){ / /高移2位,和0的二进制比较,同样是1个字节
$=1;
}
$;
RES substr($str =美元美元美元,抵消,计数); / /删除连接字符串的字符$ RES
$ char = 1; /截取字符数+ 1
偏移量;
}
返回$;
}
回声utf8sub($str,100);