欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用于utf8编码的字符串截取的函数

程序员文章站 2024-02-04 09:40:04
...
  1. /*

  2. * 用于utf8编码的字符串截取
  3. */
  4. function utf8_substr($str,$position,$length){
  5. $start_position = strlen($str);
  6. $start_byte = 0;
  7. $end_position = strlen($str);
  8. $count = 0;
  9. for($i = 0; $i if($count >= $position && $start_position > $i){
  10. $start_position = $i;
  11. $start_byte = $count;
  12. }
  13. if(($count-$start_byte)>=$length) {
  14. $end_position = $i;
  15. break;
  16. }
  17. $value = ord($str[$i]);
  18. if($value > 127){
  19. $count++;
  20. if($value >= 192 && $value elseif($value >= 224 && $value elseif($value >= 240 && $value else die('Not a UTF-8 compatible string');
  21. }
  22. $count++;
  23. }

  24. return(substr($str,$start_position,$end_position-$start_position));
  25. }
  26. ?>
复制代码