一种无随机码汉字截取的PHP方法
< PHP
要被拦截的字符串
截取的字符数
被截获的字符数。
保存的字符串
$ char保存已截获的字符串的数目。
截获的偏移量
长度字符串的字节数。
如果字符数为$,则会导致不必要的while循环($偏移长度限制)
功能utf8sub($str,$ len){
如果($ < = 0){
返回;
}
$;
$偏移=0;
$ char=0;
$长度= strlen(str);
当(字符$ $,$偏移)
$高= decbin(ORD(substr($str,抵消美元,1))));
如果(strlen($高)< 8){
$=1;
} elseif(substr($高,0,3)= = 110){
$=2;
} elseif(substr($高,0,4)= = 1110){
$=3;
} elseif(substr($高,0.5)= = 11110){
$=4;
} elseif(substr($高,0,6)= = 11111 0){
$=5;
} elseif(substr($高,0,7)= = 111111 0){
$=6;
}
为研究= substr($str,抵消美元,美元算);
$偏移数;
$ char=1;
}
返回$;
}
功能utf8sub1($str,$ len){
$ char=0;
$;
$偏移=0;
$长度= strlen(str);
当(字符$ $,$偏移)
$高= decbin(ORD(substr($str,抵消美元,1))));
如果(strlen($高)< 8){
$=1;
} elseif($高= = 11100000 11000000 ){
$=2;
} elseif($高= = 11110000 11100000 ){
$=3;
} elseif($高= = 11111 000 11110000 ){
$=4;
} elseif($高= = 111111 00 11111 000 ){
$=5;
} elseif($高= = 1111111 0 111111 00 ){
$=6;
}
为研究= substr($str,抵消美元,美元算);
字符+ +;
$偏移数;
}
返回$;
}
$ =中国啊人HDJ ;
回声utf8sub($,5);
>
希望本文能对大家的PHP程序设计有所帮助。