字串處理

Home Home
引用 | 編輯 saladin919
2009-08-06 12:14
樓主
推文 x0
就是,我將字串a以長度70字元來切,切好後
因為標點符號的關係讓我切出來的新字串d最後一個字為"?"號
所以我想說用取代的方式把"?"銷掉
但是,似乎都沒辦法 囧
他好像找不到那個"?"的樣子

是問,有沒有辦法把"?"銷掉?

複製程式
<? 
$a="喜歡吃日本料理的朋友,就一定不能錯過益泉屋創意日本料理,親切、專業的董益泉師傅他一定會竭盡所能的為您服務。";
$t=unpack('a70d', $a);
$d=$t[d];
$change = str_replace("?","",$d);
echo $change;
?>


獻花 x0
引用 | 編輯 twnhostCom
2009-08-07 15:17
1樓
  
"?" 是特殊字元喔

建議您查一下特殊字元的編碼代號

獻花 x0
引用 | 編輯 saladin919
2009-08-10 10:16
2樓
  
已經有解決方法了,如下

mb_substr()可以指定文字編碼,就不會像是一般函式將中文當作兩個字元處理,這樣一來就可以確實做 70 字的切割,只是這 70 個字中、英文都算一個字,所以實際在輸出時可能會長短不一(除非使用的字型有同樣寬度)。

所以用
mb_substr($a,0,37,"big5");
這樣就可以解決了

獻花 x0