php自定義截取中文字符串-utf8版
更新時間:2017年02月27日 14:02:15 作者:沃茨賊死
本文主要介紹了php自定義截取中文字符串的方法,具有很好的參考價值,下面跟著小編一起來看下吧
先說明:網(wǎng)上目前有很多這個問題的代碼,但是很多都是復(fù)制粘貼,沒有自己實踐,而且代碼有邏輯問題,下面的代碼由我自己編寫。
話不多說
/**
* 該函數(shù)是對于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編碼中一個漢字是占據(jù)3個字節(jié)的,對于其他的編碼的字符串,中文占據(jù)的字節(jié)各有不同,自己需要去修改這個數(shù)a
$newStr .= substr($str, $i, 3);//此處a=3;
$i+=2;
$len += 2; //截取了三個字節(jié)之后,截取字符串的終止偏移量也要隨著每次漢字的截取增加a-1;
} else {
$newStr .= substr($str, $i, 1);
}
}
return $newStr;
}
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
php導(dǎo)入大量數(shù)據(jù)到mysql性能優(yōu)化技巧
這篇文章主要介紹了php導(dǎo)入大量數(shù)據(jù)到mysql性能優(yōu)化技巧,通過針對SQL語句的優(yōu)化實現(xiàn)了mysql性能的提高,非常具有實用價值,需要的朋友可以參考下2014-12-12
PHP curl模擬瀏覽器采集阿里巴巴的實現(xiàn)代碼
都說阿里巴巴有不能采集和防采集的神話,今天就用張老師講的Curl采集寫了一個模擬瀏覽器的代碼。2011-04-04

