Jquery擷取中文字串

2022-02-08 17:48:46 字數 1235 閱讀 5316

function cut_str($sourcestr,$cutlength) {

$returnstr='';

$i=0;

$n=0;

$str_length=strlen($sourcestr);//字串的位元組數

while (($n<$cutlength) and ($i<=$str_length))

$temp_str=substr($sourcestr,$i,1);

$ascnum=ord($temp_str);//得到字串中第$i位字元的ascii碼

if ($ascnum>=224) //如果ascii位高與224,

//根據utf-8編碼規範,將3個連續的字元計為單個字元

$returnstr=$returnstr.substr($sourcestr,$i,3);

$i=$i+3; //實際byte計為3

$n++; //字串長度計1

elseif ($ascnum>=192) //如果ascii位高與192,

//根據utf-8編碼規範,將2個連續的字元計為單個字元

$returnstr=$returnstr.substr($sourcestr,$i,2);

$i=$i+2; //實際byte計為2

$n++; //字串長度計1

elseif ($ascnum>=65 && $ascnum<=90) //如果是大寫字母,

$returnstr=$returnstr.substr($sourcestr,$i,1);

$i=$i+1; //實際的byte數仍計1個

$n++; //但考慮整體美觀,大寫字母計成乙個高位字元

else //其他情況下,包括小寫字母和半形標點符號,

$returnstr=$returnstr.substr($sourcestr,$i,1);

$i=$i+1; //實際的byte數計1個

$n=$n+0.5; //小寫字母和半形標點等與半個高位字元寬...

if ($str_length>$cutlength){

$returnstr = $returnstr . "...";//超過長度時在尾處加上省略號

return $returnstr;

golang擷取中文字串

1.問題 在golang中可以通過切片擷取乙個陣列或字串,但是當擷取的字串是中文時,可能會出現的問題是 由於中文乙個字不只是由乙個位元組組成,所以直接通過切片可能會把乙個中文字的編碼截成兩半,結果導致最後乙個字元是亂碼。例如 想要擷取前四個字 fmt.println name 4 name 4 執行...

PHP 中文字串擷取

本文提供兩種方法實現中文字串的擷取 1.使用系統提供的 mb substr 或iconv substr 函式 php.ini 配置檔案中的 mbstring 擴充套件要開啟才能使用 函式說明 string mb substr string str,int start int length null ...

Python擷取中文字串

在gbk編碼下,請編寫乙個擷取字串的函式,輸入為乙個字串和位元組數,輸出為按位元組擷取的字串,但是要保證漢字不被截半個,同時忽略字串中的數字後輸出最終結果 coding gbk import re deffunc s,length g join re.findall r d s 這裡也可以用g fi...