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

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

WBOY
Freigeben: 2016-07-25 09:01:16
Original
1077 Leute haben es durchsucht
中文截取无乱码(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. ?>
复制代码


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage