- 註冊時間
- 2013-4-6
- 最後登錄
- 2018-3-22
- 閱讀權限
- 20
- 積分
- 133
- 精華
- 0
- 帖子
- 25
|
本帖最後由 Patrick 於 2013-4-7 11:40 編輯
背景問題:
中國漢字字符號,而不是字母。一個字計數是不可能的,因為單詞之間沒有空格。
相反,你必須做一個字符計數。不幸的是,使用一個子串(PHP:SUBSTR())將不起作用,因為中國在Unicode字符編碼。
請記住,內容字符串是UTF-8編碼。每個漢字由多個字符。十個字符長的字符串是等於只有三個UTF-8個漢字。- $content ='您最喜愛的網站';
- $excerpt = SUBSTR($content , 0, 13);
- / / SUBSTR()不承認斷字符的Unicode字符,這將導致在年底的摘錄。
- echo $excerpt;
複製代碼 以上片段將輸出:- 您最喜愛�
- (� 表示一個破碎的Unicode字符)。
複製代碼 解決方案:
多字節字符串切功能mb_strcut()功能識別編碼的字符,並刪除部分編碼字符的返回值。- $content = '您最喜愛的網站 ';
- $excerpt = mb_strcut($content, 0, 10, 'UTF-8');
- echo $excerpt;
複製代碼 以上片段將輸出: |
|