php utf8编码的字符串截取方法

前端之家收集整理的这篇文章主要介绍了php utf8编码的字符串截取方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
经测试代码如下:
  1. /**
  2. * 截取编码为utf8的字符串
  3. *
  4. * @param string $strings 预处理字符串
  5. * @param int $start 开始处 eg:0
  6. * @param int $length 截取长度
  7. * @author 编程之家 jb51.cc jb51.cc
  8. */
  9. function subString($strings,$start,$length) {
  10. if (function_exists('mb_substr') && function_exists('mb_strlen')) {
  11. $sub_str = mb_substr($strings,$length,'utf8');
  12. return mb_strlen($sub_str,'utf8') < mb_strlen($strings,'utf8') ? $sub_str . '...' : $sub_str;
  13. }
  14. $str = substr($strings,$length);
  15. $char = 0;
  16. for ($i = 0; $i < strlen($str); $i++) {
  17. if (ord($str[$i]) >= 128)
  18. $char++;
  19. }
  20. $str2 = substr($strings,$length + 1);
  21. $str3 = substr($strings,$length + 2);
  22. if ($char % 3 == 1) {
  23. if ($length <= strlen($strings)) {
  24. $str3 = $str3 .= '...';
  25. }
  26. return $str3;
  27. }
  28. if ($char % 3 == 2) {
  29. if ($length <= strlen($strings)) {
  30. $str2 = $str2 .= '...';
  31. }
  32. return $str2;
  33. }
  34. if ($char % 3 == 0) {
  35. if ($length <= strlen($strings)) {
  36. $str = $str .= '...';
  37. }
  38. return $str;
  39. }
  40. }
  41. /*** 来自编程之家 jb51.cc(jb51.cc) ***/

猜你在找的PHP相关文章