我有一組數據可能混合字符,特殊字符和「口音」字符等翻譯字母VS特殊字符
我一直在使用PHP inconv與TRANSLIT,但今天發現子彈點被轉換爲「公牛」。我不知道這樣的其他字符不會被轉換或刪除。 $,*,%等被刪除。
基本上我想要做的是保持字母,但只刪除'非語言'位。
這是我一直在使用
$slugIt = @iconv('UTF-8', 'ASCII//TRANSLIT', $slugIt); $slugIt = preg_replace("/[^a-zA-Z0-9 -]/", "", $slugIt);當然
的代碼,如果我移動的preg_replace爲高於inconv功能,他們在翻譯前的重音字符將被刪除,所以那並不是」不管工作。
對此的任何想法?或TRANSLIT中錯過了哪些非字母字符?
---------------------編輯------------------------ --------- 奇怪的是,它似乎並不是將子彈變成「公牛」的TRANSLIT。我評論了替代品,而「公牛」已經回到了重點。不幸的是,我試圖用它來創建可讀的URL以及其他一些東西,所以我仍然需要進行URL編碼。
是否ASCII //忽略走得太遠? – rojoca 2009-08-04 01:44:04
我認爲它確實太過分了,但是我再看看它。 – pedalpete 2009-08-04 01:50:28
如果你有一個給你麻煩的字符列表,那麼http://php.net/strtr可能會有所幫助。有些評論可能是有用的 – rojoca 2009-08-04 02:27:22