查看單個文章
  #1  
舊 2005-10-04, 10:44 PM
domainplayer domainplayer 目前離線
進階會員
 
註冊日期: 2002-05-31
文章: 4,757
發送 ICQ 消息給 domainplayer
預設 請教程式語言 (PHP) 達人

請教一下各位,
我發現我架的那支二手市場PHP有一個嚴重的bug

原因是下面這段程式碼:

if(strlen($title)>15) $title=substr($title,0,15)."...";

這段碼的作用是當我輸入的拍賣物title超過15個字元時
它在首頁顯示時會自動將第16個字之後省略為"..."

也就是當我輸入"12345678910111213141516" (23個字元),
經由這段程式碼的作用會變成"123456789101112..." (15個字元+"...")

但由於一個中文字等於2字元,
當我輸入"一二三四五六七八" (16字元)時
經由這段程式碼作用後會變成"一二三四五六七?..." (15字個字元+"...")
因為第15與16字元共同組成了"八"這個中文字,
但由於第16個字元後面都被省略了...
所以該拍賣訊息第15個字元會成為"?"(問號)
請參見 http://www.bazaar.info

請問有沒有辦法設定遇到第15個字元是中文字時,
此程序會變為第17個字元後才省略成"..."
或是有沒有其它辦法能解決這個問題?

希望懂的人能幫忙, 拜託拜託!
__________________
1515
回覆時引用此篇文章