2011-08-21 66 views
0

確定各種符號我看了很多線程,並發現了一些工作,但現在我只是比什麼都好奇選項...刪除像é

當試圖刪除字符一樣:A E爲谷歌做不像XML產品Feed中的他們。

爲什麼這個工作:

但這兩種2的嗎?

$string = preg_replace("/[^[:print:]]+/", ' ', $string); 

$string = preg_replace("/[^[:print:]]/", ' ', $string); 

爲了把所有上下文這裏是全功能:

 // Remove all unprintable characters 
     $string = ereg_replace("[^[:print:]]", ' ', $string); 
     // Convert back into HTML entities after printable characters removed 
     $string = htmlentities($string, ENT_QUOTES, 'UTF-8'); 
     // Decode back 
     $string = html_entity_decode($string, ENT_QUOTES, 'UTF-8'); 
     // Return the UTF-8 encoded string 
     $string = strip_tags(stripslashes($string)); 
     // Return the UTF-8 encoded string 
     return utf8_encode($string); 
    }   
+0

我想你錯過了可用的代碼塊? – SuitedSloth

回答

0

代碼不工作的原因是因爲它消除不在POSIX的字符:打印:字符組它由可打印的字符組成。等等都是可打印的。

你可以找到more about posix sets here

此外,刪除加重字符可能並不總是最好的選擇...檢查this question替代品。