PHP intercepts Chinese and English without garbled characters, including full-width characters

WBOY
Release: 2016-07-25 09:01:18
Original
998 people have browsed it
Code source: Xiaomo (self)
Complies with UTF-8, if it is under GBK
Change to $content .= $str[$sing].$str[$sing+1];
$sing += 3; changed to $sing += 2;
  1. /**
  2. * Chinese and English interception
  3. * @param string The string to be intercepted
  4. * @param string The length to be intercepted (exceeding the total length will be calculated as the total length)
  5. * @param [string] (optional) starting position (the first one is 0)
  6. * @return string
  7. * @author Xiaomo 244349067@qq.com
  8. */
  9. function mixSubstr($str, $length, $start=FALSE)
  10. {
  11. if( ! $length){
  12. return false;
  13. }
  14. $strlen = strlen( $str);
  15. $content = '';
  16. $sing = 0;
  17. $count = 0;
  18. if($length > $strlen) {
  19. $length = $strlen;
  20. }
  21. if($start > ;= $strlen) {
  22. return false;
  23. }
  24. while($length != ($count-$start))
  25. {
  26. if(ord($str[$sing]) > 0xa0) {
  27. if( !$start || $start <= $count) {
  28. $content .= $str[$sing].$str[$sing+1].$str[$sing+2];
  29. }
  30. $sing + = 3;
  31. $count++;
  32. }else{
  33. if(!$start || $start <= $count) {
  34. $content .= $str[$sing];
  35. }
  36. $sing++;
  37. $count++;
  38. }
  39. }
  40. return $content;
  41. }
Copy code


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!