ICE NoteBook
2009年2月1日 星期日
PHP - 截字
PHP截字方式有我查到目前有兩種方式:
1.字元長度
2.字元寬度
以下我們直接用寫好的function來作說明
/* 字元長度截字 */ function restrictStr($str, $num, $str2){ /**************************************************** * UTF-8一個中文字是三個字元,英文是一個字元 ****************************************************/ $string = mb_substr($str, 0, $num, "UTF-8"); if( mb_strlen($str,"UTF-8") > $num ){ $string .= $str2; } return $string; } /* 字元寬度截字 */ function restrictStr2($str, $start, $num, $str2){ /**************************************************** * UTF-8一個中文字約兩個字元,英文是一個字元 ****************************************************/ $string = mb_strimwidth($str, $start, $num, $str2, 'UTF-8'); if( mb_strwidth($str, "UTF-8") > $num ){ $string .= $str2; } return $string; }
第一種方式適合在全部都是中文或英文時,如果有中英文混合會發生長度相差很多的狀況,測試後我認為只是去依照文字編碼後算字數而已。
第二種方式在大部分的狀況都可以用,即使中英文混合也適用,它是用一個概略值讓所有截取的字串長度差不多。
以上是測試過後的結果,如果其他大大有發現錯誤,請盡快通知我喔!!感恩~
沒有留言:
張貼留言
‹
›
首頁
查看網路版
沒有留言:
張貼留言