首頁 >後端開發 >php教程 >UTF-8與GBK編碼下PHP取得字串長度的函數

UTF-8與GBK編碼下PHP取得字串長度的函數

WBOY
WBOY原創
2016-07-25 09:07:111027瀏覽
  1. /*

  2. * 统计字符串长度
  3. *@param $str 被统计字符串
  4. */
  5. function sstrlen($str) {
  6. global $charset;
  7. $n = 0; $p = 0; $c = ”;
  8. $len = strlen($str);
  9. if($charset == ‘utf-8′) {
  10. for($i = 0; $i < $len; $i++) {
  11. $c = ord($str{$i});
  12. if($c > 252) {
  13. $p = 5;
  14. } elseif($c > 248) {
  15. $p = 4;
  16. } elseif($c > 240) {
  17. $p = 3;
  18. } elseif($c > 224) {
  19. $p = 2;
  20. } elseif($c > 192) {
  21. $p = 1;
  22. } else {
  23. $p = 0;
  24. }
  25. $i+=$p;$n++;
  26. }
  27. } else {
  28. for($i = 0; $i < $len; $i++) {
  29. $c = ord($str{$i});
  30. if($c > 127) {
  31. $p = 1;
  32. } else {
  33. $p = 0;
  34. }
  35. $i+=$p;$n++;
  36. }
  37. }

  38. return $n;

  39. }
  40. ?>

复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn