在公共的common.php中
方法1
//字符串截取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, $returnstr=$returnstr.substr($sourcestr,$i,3); //根據UTF-8編碼規范,將3個連續的字符計為單個字符 $i=$i+3; //實際Byte計為3 $n++; //字串長度計1 elseif ($ascnum =192) //如果ASCII位高與192, $returnstr=$returnstr.substr($sourcestr,$i,2); //根據UTF-8編碼規范,將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 $i){ $returnstr = $returnstr . ... //超過長度時在尾處加上省略號 return $returnstr; }
方法2:
//字符串截取并且超出顯示省略號function subtext($text, $length)if(mb_strlen($text, ‘utf8’) $length)return mb_substr($text,0,$length,’utf8′).’ …’;return $text;}
在模版中調用則:
{$tops.title | subtext=18}
相關推薦:
html' target='_blank'>MySQL 字符串截取
php截取字符串函數分享,php截取字符串
以上就是thinkphp5中截取字符串的方法有哪些?(兩種方法實現)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答