網頁

2014年3月26日 星期三

PHP開發筆記-中英文字取子字串長度問題

之前在Wordpress開發筆記-資料內容有html special code又要呈現縮減字數問題有記錄到如何解決字數過長,將之截成同樣長字串的問題,不過那時主要的大問題在

  1. 包含一堆的html tag
  2. 中英交雜

不過說實在,那時算是隨便解解,也沒什麼好方法,這次的問題單純多,只是中英文交雜,在畫面上長過一定長度要截成相同的長度,PHP的API其實提供不錯的function了,那就是mb_strimwidth,他會將中文字(multibyte)辨識成寬度2,英文或符號為寬度1,這樣就可以解決直接辨識中英文字數,在畫面上截出的長度不同的問題。用法如下:
echo mb_strimwidth("abc 笨笨的 123", 0, 13, '...', 'UTF-8');

output:
abc 笨笨的...

不過,若是真的要截字數,就用mb_substr吧~

參考網址:
function: mb-strimwidth
Ref: mbstring
PHP 切中文字串怎麼切

沒有留言:

張貼留言