2012-01-08 99 views
0

我需要將非標準字符(如)更改爲標準字符,如'。我怎麼能在PHP中做到這一點?現在,我只需要更改撇號,但知道如何改變其他人,比如雙引號等等會很好。將非標準字符轉換爲標準版本

+3

沒有「非標準」字符。你爲什麼想這樣做? – SLaks 2012-01-08 23:12:49

+0

您應該首先確定您需要的字符編碼(UTF-8,ISO-8859-1等),然後確定應該向客戶端提供哪些編碼。 – 2012-01-08 23:13:59

+0

@Jared這不是一次*編碼*的問題。 :) – deceze 2012-01-08 23:15:48

回答

3

您可以使用str_replace()

$replace = array('’' => '\''); //You can add more characters here 

echo str_replace(array_keys($replace), array_values($replace), 'can’t'); 

然而,'是兩個不同的角色,我會想知道你爲什麼會想將它們視爲相同。

+0

最後一句話+1。 – deceze 2012-01-08 23:18:32

+0

這最終成爲我的需求的最佳答案。 – LordZardeck 2012-01-09 00:10:04

8

如果只想ASCII輸出,你可以使用iconv()和音譯:

iconv("UTF-8", "ASCII//TRANSLIT", "Hello’ World"); // gives "Hello' World" 

替換你的正確的信源編碼,如果它不是UTF-8。

+0

假設這是OP想要的,這是最好的解決方案。 +1 – deceze 2012-01-08 23:16:55

+0

我如何確定我的源代碼? – LordZardeck 2012-01-08 23:24:36

+0

@LordZardeck:你必須知道它。它將與您的源字符串來自的信息綁定在一起。如果有疑問,請諮詢你的主管或項目文件... – 2012-01-08 23:26:18