推 piglon:謝謝你XD 秀出來的結果跟我在ide看的不一樣 只剩下A0 05/30 16:57
http://paste.org/49868
程式以manifest()函數為中心,附有彩色標示-如果你真的拿去執行的話
用處是把字串內的字元個別拆開,顯示hex code
一共展示三個字串
$str = "<p>\xc2\xa0</p><p>我是測試字串</p>";
$str2 = str_replace("\xC2\xA0", '', $str);
$str3 = preg_replace("/\xC2\xA0/i", '', $str);
manifest($str);
manifest($str2);
manifest($str3);
結果見以下附錄,不管任何一種寫法都可以去掉\xC2\xA0
不過這裡的\xC2\xA0可以算是人為插進去的
所以未必有真正複製原po遇到的狀況。
但一般而言,去掉無法顯示的特殊字元方法也就如此。
又者,c2 a0在utf-8中定義為non-breaking space。
所以這是否亂碼?視你的unicode支援如何而定。
(附錄)執行結果
<p>?</p><p>我是測試字串</p>
< (3c) p (70) > (3e) ? (c2 a0) < (3c) / (2f) p (70)
> (3e) < (3c) p (70) > (3e) 我 (e6 88 91) 是 (e6 98 af)
測 (e6 b8 ac) 試 (e8 a9 a6) 字 (e5 ad 97)
串 (e4 b8 b2) < (3c) / (2f) p (70) > (3e)
<p></p><p>我是測試字串</p>
< (3c) p (70) > (3e) < (3c) / (2f) p (70) > (3e) < (3c)
p (70) > (3e) 我 (e6 88 91) 是 (e6 98 af)
測 (e6 b8 ac) 試 (e8 a9 a6) 字 (e5 ad 97)
串 (e4 b8 b2) < (3c) / (2f) p (70) > (3e)
<p></p><p>我是測試字串</p>
< (3c) p (70) > (3e) < (3c) / (2f) p (70) > (3e) < (3c)
p (70) > (3e) 我 (e6 88 91) 是 (e6 98 af)
測 (e6 b8 ac) 試 (e8 a9 a6) 字 (e5 ad 97)
串 (e4 b8 b2) < (3c) / (2f) p (70) > (3e)
--
Google 關鍵字 : MPFC-TCP / 殺人笑話 / 包租婆也有過當羅莉的時候
Youtube關鍵字 : 脫衫脫褲 / 傻蛋奧運 / 宗教審訊 / 買張床 / 單車超人 / 謳歌金錢
*美髮師登山隊 http://tinyurl.com/dm6lh3 *Ypres 1914 http://tinyurl.com/b432jb
[蒙帝派松正體中文計畫] http://www.youtube.com/user/JamesBondXD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.12.174
今天特別涼,所以再寫個小程式