php字串擷取固定值並且多餘部分用省略號代替

2021-06-19 07:06:10 字數 760 閱讀 7924

utf8編碼下:中文佔 

3個位元組,英文和數字佔 

1個位元組(可變編碼)(變長編碼)

gbk編碼下:所有的中文、英文、數字都佔

2個位元組(定長編碼)

例如,有乙個字串,$str = 「地方見21423435

過很多苦法dsfsdfsdgsd

規和地方給

iu」如果是gbk

編碼:擷取

5個字元 ,相當於擷取

10個位元組  

substr()

擷取的是位元組數

如果是utf8

編碼的話:擷取

5個字元:不知道擷取多少個位元組,因為不確定是中文還是英文

那麼怎麼判斷呢?

通常根據乙個字元的第乙個位元組,如果這個位元組 的ascii

碼 大於

224 佔3

個位元組,如果第乙個位元組的

ascii

碼,大於

192 佔2

個位元組,如果第乙個位元組的

ascii

碼小於192,佔1

個位元組

例子: function getpartstr($str,$len)//$str字串   $len 控制長度

elseif(ord($sstr)>192)elseif(ord($sstr)<192)

}if(strlen($str)<$one)else

}$asd='df袁過堂風然後他讓同一日騰';

echo getpartstr($asd,10);

php 擷取 ,php怎麼擷取字串

php內建了大量的字串操作函式,比如php implode,explode等等,php擷取字串,可以用substr,mb substr二個函式。phpsubstr語法substr string,start,length 引數string 即要擷取的字串 start 即要擷取的開始位置 0表示從從前往...

MYSQL Split字串並且插入值

demo begin 新增專案資料 3,1,1,2,1 2 declare tdocid int 宣告乙個輸出值 declare s int default 0 宣告乙個判斷游標到最後的檢測值 declare tyoub cursor for select value from zzsplittab...

php的字串擷取

這個功能在php輸出頁面的時候很常用 就是把乙個字串擷取為不大於某個長度的字串。本身是很簡單的事情,但是附加了一些需求 1,字串中含有中文,也就是單位元組雙位元組混著的。2,字串中含有html 對於中文擷取,網上有現成的 可以拿來用,就像這樣 function trunk str most,retu...