计算 UTF-8 字符串长度(忽略字节的方案)

本文介绍的函数可以统计 UTF-8 字符串的长度,但不同的是,该函数并不考虑字节,这有些类似 Javascript 中字符串的 length 方法,一个字符全部按 1 个长度计算。


PHP:
 
   
  1.  
  2. // 说明:计算 UTF-8 字符串长度(忽略字节的方案)
  3. // 整理:http://www.CodeBit.cn
  4.  
  5. function strlen_utf8 ( $str )
  6. {
  7. $i = 0;
  8. $count = 0;
  9. $len = strlen ( $str );
  10. while ( $i < $len )
  11. {
  12. $chr = ord ( $str [ $i ] );
  13. $count++;
  14. $i++;
  15. if ( $i >= $len )
  16. break;
  17.  
  18. if ( $chr & 0x80 )
  19. {
  20. $chr <<= 1;
  21. while ( $chr & 0x80 )
  22. {
  23. $i++;
  24. $chr <<= 1;
  25. }
  26. }
  27. }
  28. return $count;
  29. }
  30.  
  31. $str = "Codebit.cn - 聚合小段精华代码";
  32.  
  33. echo strlen_utf8 ( $str );
  34.  
  35. ?>
  36.  


 

你可能感兴趣的:(PHP编程)