>  기사  >  백엔드 개발  >  PHP에서 중국어 문자열(utf8)을 가로채는 방법

PHP에서 중국어 문자열(utf8)을 가로채는 방법

怪我咯
怪我咯원래의
2017-07-04 11:58:471224검색

이 글에서는 주로 PHP에서 중국어 문자열을 사용자 정의하는 방법을 소개합니다. 편집기를 사용하여 살펴보겠습니다.

우선 이 문제에 대한 코드가 인터넷에 많이 있습니다. , 그러나 그 중 대부분은 복사하여 붙여넣기이며, 제가 직접 연습해 본 적이 없으며, 코드에 논리적인 문제가 있습니다. 다음 코드는 제가 직접 작성한 것입니다.

할 말이 별로 없네

/**
   * 该函数是对于utf8编码
   * @author 2582308253@qq.com
   * @param string $str
   * @param int $start
   * @param int $length
   * @return string
   * @copyright 2017年2月27日下午1:46:10
   */
  function gbsubstr2($str, $start, $length) {
    $length = abs($length);
    $strLen = strlen($str);
    $len = $start + $length;
    $newStr = '';
    for($i = $start; $i < $len && $i < $strLen; $i++) {
      if(ord(substr($str, $i, 1)) > 0xa0) {
        //utf8编码中一个汉字是占据3个字节的,对于其他的编码的字符串,中文占据的字节各有不同,自己需要去修改这个数a
        $newStr .= substr($str, $i, 3);//此处a=3;
        $i+=2;
        $len += 2; //截取了三个字节之后,截取字符串的终止偏移量也要随着每次汉字的截取增加a-1;
      } else {
        $newStr .= substr($str, $i, 1);
      }
    }
    return $newStr;
  }

위 내용은 PHP에서 중국어 문자열(utf8)을 가로채는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.