Jquery截取中文字符串的實(shí)現(xiàn)代碼
更新時(shí)間:2010年12月22日 15:00:51 作者:
Jquery截取中文字符串的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
復(fù)制代碼 代碼如下:
function cut_str($sourcestr,$cutlength) {
$returnstr='';
$i=0;
$n=0;
$str_length=strlen($sourcestr);//字符串的字節(jié)數(shù)
while (($n<$cutlength) and ($i<=$str_length))
{
$temp_str=substr($sourcestr,$i,1);
$ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii碼
if ($ascnum>=224) //如果ASCII位高與224,
{
//根據(jù)UTF-8編碼規(guī)范,將3個連續(xù)的字符計(jì)為單個字符
$returnstr=$returnstr.substr($sourcestr,$i,3);
$i=$i+3; //實(shí)際Byte計(jì)為3
$n++; //字串長度計(jì)1
}
elseif ($ascnum>=192) //如果ASCII位高與192,
{
//根據(jù)UTF-8編碼規(guī)范,將2個連續(xù)的字符計(jì)為單個字符
$returnstr=$returnstr.substr($sourcestr,$i,2);
$i=$i+2; //實(shí)際Byte計(jì)為2
$n++; //字串長度計(jì)1
}
elseif ($ascnum>=65 && $ascnum<=90) //如果是大寫字母,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1; //實(shí)際的Byte數(shù)仍計(jì)1個
$n++; //但考慮整體美觀,大寫字母計(jì)成一個高位字符
}
else //其他情況下,包括小寫字母和半角標(biāo)點(diǎn)符號,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1; //實(shí)際的Byte數(shù)計(jì)1個
$n=$n+0.5; //小寫字母和半角標(biāo)點(diǎn)等與半個高位字符寬...
}
}
if ($str_length>$cutlength){
$returnstr = $returnstr . "...";//超過長度時(shí)在尾處加上省略號
}
return $returnstr;
}
您可能感興趣的文章:
- jquery實(shí)現(xiàn)點(diǎn)擊查看更多內(nèi)容控制段落文字展開折疊效果
- JS/jQuery實(shí)現(xiàn)默認(rèn)顯示部分文字點(diǎn)擊按鈕顯示全部內(nèi)容
- 基于Jquery的文字自動截取(提供源代碼)
- 基于jquery的jqDnR拖拽溢出的修改
- 多種JQuery循環(huán)滾動文字圖片效果代碼
- jQuery實(shí)現(xiàn)圖片文字淡入淡出效果
- jquery實(shí)現(xiàn)簡單文字提示效果
- jQuery插件EnPlaceholder實(shí)現(xiàn)輸入框提示文字
- jQuery實(shí)現(xiàn)控制文字內(nèi)容溢出用省略號(…)表示的方法
相關(guān)文章
Hallo.js基于jQuery UI所見即所得的Web編輯器
Hallo.js是一個簡單的富文本編輯器,基于jQuery UI的部件,利用HTML5的contentEditable功能實(shí)現(xiàn)了即時(shí)編輯功能,其主要目的是為了提供良好的書寫體驗(yàn),對Hallo.js感興趣的小伙伴們可以參考一下2016-01-01jQuery實(shí)現(xiàn)設(shè)置、移除文本框默認(rèn)值功能
這篇文章主要介紹了jQuery實(shí)現(xiàn)設(shè)置、移除文本框默認(rèn)值功能,本文實(shí)現(xiàn)是類似html5 placeholder(空白提示)效果,正常時(shí)文本框有提示文字,當(dāng)文本框獲得焦點(diǎn)時(shí)變?yōu)榭瞻?需要的朋友可以參考下2015-01-01