程序員論壇

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 1585|回復: 0

節錄中文字串的方法

[複製鏈接]

23

主題

0

好友

133

積分

註冊會員

Rank: 2

發表於 2013-4-7 11:38:40 |顯示全部樓層
本帖最後由 Patrick 於 2013-4-7 11:40 編輯

背景問題:
中國漢字字符號,而不是字母。一個字計數是不可能的,因為單詞之間沒有空格。

相反,你必須做一個字符計數。不幸的是,使用一個子串(PHP:SUBSTR())將不起作用,因為中國在Unicode字符編碼。

請記住,內容字符串是UTF-8編碼。每個漢字由多個字符。十個字符長的字符串是等於只有三個UTF-8個漢字。
  1. $content ='您最喜愛的網站';

  2. $excerpt = SUBSTR($content , 0, 13);
  3. / / SUBSTR()不承認斷字符的Unicode字符,這將導致在年底的摘錄。

  4. echo $excerpt;
複製代碼
以上片段將輸出:
  1. 您最喜愛�

  2. (� 表示一個破碎的Unicode字符)。
複製代碼
解決方案:
多字節字符串切功能mb_strcut()功能識別編碼的字符,並刪除部分編碼字符的返回值。
  1. $content = '您最喜愛的網站 ';

  2. $excerpt = mb_strcut($content, 0, 10, 'UTF-8');

  3. echo $excerpt;
複製代碼
以上片段將輸出:
  1. 您最喜愛的
複製代碼
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

程序員論壇

GMT+8, 2024-11-2 07:46 , Processed in 0.033810 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回頂部
HK Piece免費建立你的網上商店
Pocket Money Easy