php自定義截取中文字符串-utf8版
先說(shuō)明:網(wǎng)上目前有很多這個(gè)問(wèn)題的代碼,但是很多都是復(fù)制粘貼,沒(méi)有自己實(shí)踐,而且代碼有邏輯問(wèn)題,下面的代碼由我自己編寫(xiě)。
話不多說(shuō)
/**
* 該函數(shù)是對(duì)于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編碼中一個(gè)漢字是占據(jù)3個(gè)字節(jié)的,對(duì)于其他的編碼的字符串,中文占據(jù)的字節(jié)各有不同,自己需要去修改這個(gè)數(shù)a
$newStr .= substr($str, $i, 3);//此處a=3;
$i+=2;
$len += 2; //截取了三個(gè)字節(jié)之后,截取字符串的終止偏移量也要隨著每次漢字的截取增加a-1;
} else {
$newStr .= substr($str, $i, 1);
}
}
return $newStr;
}
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- php簡(jiǎn)單統(tǒng)計(jì)中文個(gè)數(shù)的方法
- PHP統(tǒng)計(jì)目錄中文件以及目錄中目錄大小的方法
- php中計(jì)算中文字符串長(zhǎng)度、截取中文字符串的函數(shù)代碼
- PHP 實(shí)現(xiàn)字符串翻轉(zhuǎn)(包含中文漢字)的實(shí)現(xiàn)代碼
- php與javascript正則匹配中文的方法分析
- php實(shí)現(xiàn)的中文分詞類(lèi)完整實(shí)例
- php實(shí)現(xiàn)的簡(jiǎn)單中文驗(yàn)證碼功能示例
- php中文字符串截取多種方法匯總
- PHP的Json中文處理解決方案
- php自定義函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)中文字符串長(zhǎng)度的方法小結(jié)
相關(guān)文章
PHP進(jìn)階學(xué)習(xí)之反射基本概念與用法分析
這篇文章主要介紹了PHP進(jìn)階學(xué)習(xí)之反射基本概念與用法,結(jié)合實(shí)例形式分析了php反射的概念、原理基本用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)__tostring()和__invoke()用法分析
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)__tostring()和__invoke()用法,結(jié)合實(shí)例形式分析了__tostring()和__invoke()功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06
php字符串函數(shù)學(xué)習(xí)之strstr()
這篇文章主要介紹了php字符串函數(shù)學(xué)習(xí)之strstr(),本文講解了它的定義和用法、參數(shù)描述、提示和注釋以及多個(gè)使用示例,需要的朋友可以參考下2015-03-03
golang 調(diào)用 php7詳解及實(shí)例
這篇文章主要介紹了golang 調(diào)用 php7詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-01-01
原生php實(shí)現(xiàn)excel文件讀寫(xiě)的方法分析
這篇文章主要介紹了原生php實(shí)現(xiàn)excel文件讀寫(xiě)的方法,結(jié)合實(shí)例形式分析了采用原生php針對(duì)Excel進(jìn)行讀寫(xiě)操作的相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2018-04-04
php寫(xiě)入mysql中文亂碼的實(shí)例解決方法
在本文里小編給大家整理的是關(guān)于php寫(xiě)入mysql中文亂碼的解決方法和知識(shí)點(diǎn),有需要的朋友們參考下。2019-09-09
PHP 全角轉(zhuǎn)半角實(shí)現(xiàn)代碼
將一個(gè)字串中含有全角的數(shù)字字符、字母、空格或'%+-()'字符轉(zhuǎn)換為相應(yīng)半角字符2010-05-05
php中將字符串轉(zhuǎn)為HTML的實(shí)體引用的一個(gè)類(lèi)
php將字符串轉(zhuǎn)為HTML的實(shí)體引用的一個(gè)類(lèi),有需要的朋友可以參考下2013-02-02

