《PHP實戰:php自定義截取中文字符串-utf8版》要點:
本文介紹了PHP實戰:php自定義截取中文字符串-utf8版,希望對您有用。如果有疑問,可以聯系我們。
PHP教程先說明:網上目前有很多這個問題的代碼,但是很多都是復制粘貼,沒有自己實踐,而且代碼有邏輯問題,下面的代碼由我自己編寫.
PHP教程話不多說
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教程以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持維易PHP!
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/1550.html