在公共的common.php中
方法1
//字符串截取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, $returnstr=$returnstr.substr($sourcestr,$i,3); //根據(jù)UTF-8編碼規(guī)范,將3個(gè)連續(xù)的字符計(jì)為單個(gè)字符 $i=$i+3; //實(shí)際Byte計(jì)為3 $n++; //字串長度計(jì)1 elseif ($ascnum =192) //如果ASCII位高與192, $returnstr=$returnstr.substr($sourcestr,$i,2); //根據(jù)UTF-8編碼規(guī)范,將2個(gè)連續(xù)的字符計(jì)為單個(gè)字符 $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個(gè) $n++; //但考慮整體美觀,大寫字母計(jì)成一個(gè)高位字符 else //其他情況下,包括小寫字母和半角標(biāo)點(diǎn)符號(hào), $returnstr=$returnstr.substr($sourcestr,$i,1); $i=$i+1; //實(shí)際的Byte數(shù)計(jì)1個(gè) $n=$n+0.5; //小寫字母和半角標(biāo)點(diǎn)等與半個(gè)高位字符寬... if ($str_length $i){ $returnstr = $returnstr . ... //超過長度時(shí)在尾處加上省略號(hào) return $returnstr; }
方法2:
//字符串截取并且超出顯示省略號(hào)function subtext($text, $length)if(mb_strlen($text, ‘utf8’) $length)return mb_substr($text,0,$length,’utf8′).’ …’;return $text;}
在模版中調(diào)用則:
{$tops.title | subtext=18}
相關(guān)推薦:
html' target='_blank'>MySQL 字符串截取
php截取字符串函數(shù)分享,php截取字符串
以上就是thinkphp5中截取字符串的方法有哪些?(兩種方法實(shí)現(xiàn))的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選