Heim >Backend-Entwicklung >PHP-Tutorial >中文截取无乱码(2种方法)

中文截取无乱码(2种方法)

WBOY
WBOYOriginal
2016-07-25 09:01:161076Durchsuche
中文截取无乱码(2种方法)
  1. //$str 待截取的字符串
  2. //$len 截取的字符个数
  3. //$chars 已经截取的字符数
  4. //$res 保存的字符串
  5. //$chars 保存已经截取的字符串个数
  6. //$offset 截取的偏移量
  7. //$length 字符串的字节数
  8. //若$len>$str的字符个数,造成无谓的while循环,($offsetfunction utf8sub($str,$len){
  9. if($len return ;
  10. }
  11. $res="";
  12. $offset=0;
  13. $chars=0;
  14. $length=strlen($str);
  15. while($chars
  16. $hign=decbin(ord(substr($str,$offset,1)));
  17. if(strlen($hign) $count=1;
  18. }elseif(substr($hign,0,3)=="110"){
  19. $count=2;
  20. }elseif(substr($hign,0,4)=="1110"){
  21. $count=3;
  22. }elseif(substr($hign,0,5)=="11110"){
  23. $count=4;
  24. }elseif(substr($hign,0,6)=="111110"){
  25. $count=5;
  26. }elseif(substr($hign,0,7)=="1111110"){
  27. $count=6;
  28. }
  29. $res.=substr($str,$offset,$count);
  30. $offset+=$count;
  31. $chars+=1;
  32. }
  33. return $res;
  34. }
  35. function utf8sub1($str,$len){
  36. $chars=0;
  37. $res="";
  38. $offset=0;
  39. $length=strlen($str);
  40. while($chars $hign=decbin(ord(substr($str,$offset,1)));
  41. if(strlen($hign) $count=1;
  42. }elseif($hign & "11100000"=="11000000"){
  43. $count=2;
  44. }elseif($hign & "11110000"=="11100000"){
  45. $count=3;
  46. }elseif($hign & "11111000"=="11110000"){
  47. $count=4;
  48. }elseif($hign & "11111100"=="11111000"){
  49. $count=5;
  50. }elseif($hign & "11111110"=="11111100"){
  51. $count=6;
  52. }
  53. $res.=substr($str,$offset,$count);
  54. $chars++;
  55. $offset+=$count;
  56. }
  57. return $res;
  58. }
  59. $a="中华ah人民hdj";
  60. echo utf8sub($a,5);
  61. ?>
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php解析json数组 Nächster Artikel:JS实现的搜索引擎切换代码