2011-09-14 94 views
0

蘋果 蝙蝠 貓 鼠 墊 脂肪如何擺脫這些非法字符?

我想擺脫這些非法字符。你能提出一些解決方案嗎?我使用PHP作爲編程語言。

當我從MS頁面的某個東西粘貼到HTML頁面的textarea時出現這些。

+0

[您需要知道的關於使用文本的編碼和字符集](http://kunststube.net/encoding/)[Deceze](http://stackoverflow.com/users/476/deceze) 。 – alex

+0

它不是我想要的。一些超出範圍的東西。 –

回答

0

PHP有String replace。我假設你正在處理提交的表單數據,並且想要清理textarea的值以刪除這些字符。

$retrievedAreaText = $_POST["textAreaId"]; 
$illegalChars = array("",); //others 
$retrievedAreaText = str_replace($illegalChars,"",$retrievedAreaText); 
//further processing 
+0

我知道它,並且這個解決方案在任何情況下都無法解決,原因有二。 1)這不是唯一的非法字符。它可以是任何用戶將它從word文件粘貼到textarea 2)文本編輯器(Notepad ++)不顯示此字符。 –

+0

(1)所以添加其他非法字符到陣列。 (2)那麼?如果您知道要嘗試黑名單的字符,請將它們放入數組中。如果您的文本編輯器無法顯示它們,請查找它們的ASCII/Unicode值。如果您想採用白名單方法,則可以定義可接受字符的白名單並替換不在該名單中的所有值。 –

3

如果你只是要提取的ASCII,那麼你可以試試這個:

$string = preg_replace('/[^(\x20-\x7F)]*/','', $string);

+0

我已經發現它在谷歌和stackoverflow,但沒有解決。因此發佈的問題在這裏 –

+0

它測試它時,它的工作原理。你是否只使用一些unicode字符? – whg

+0

它可能適合你,但不適合我。 ( )我的任務是,用戶將HTML文件中的任何內容粘貼到textarea文件中,我只是想要非法字符被過濾,當你嘗試:'$ string =「時,你只需要過濾掉 –

0

試用一下這個:

$string = htmlentities($string, ENT_COMPAT, "UTF-8"); 

它轉換特殊字符utf標準或任何你想要的標準。 確實,特殊的字符主要是麻煩。

希望這可以幫助你。