萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php自定義截取中文字符串

php自定義截取中文字符串

小編給大家推薦的這篇文章介紹了php自定義截取中文字符串-utf8版的教程,非常實用,有興趣的同學快來看看吧。

先說明:網上目前有很多這個問題的代碼,但是很多都是復制粘貼,沒有自己實踐,而且代碼有邏輯問題,下面的代碼由我自己編寫。

話不多說

 

 代碼如下復制代碼

/**

   * 該函數是對於utf8編碼

   * @author [email protected]

   * @param string $str

   * @param int $start

   * @param int $length

   * @return string

   * @copyright 2017年2月27日下午1:46:10

   */

  functiongbsubstr2($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;

  }

 

copyright © 萬盛學電腦網 all rights reserved