2014-12-20 129 views
2

我寫了這個方法來代替特殊字符:特殊字符替換不工作

function replace_sonder($string) 
    { 
     $string2 = str_replace("ä", "ä", $string); 
     $string2 = str_replace("%E4", "ä", $string2); 
     $string2 = str_replace("ö", "ö", $string2); 
     $string2 = str_replace("%F6", "ö", $string2); 
     $string2 = str_replace("ü", "ü", $string2); 
     $string2 = str_replace("%FC", "ü", $string2); 
     $string2 = str_replace("Ä", "Ä", $string2); 
     $string2 = str_replace("%C4", "Ä", $string2); 
     $string2 = str_replace("Ö", "Ö", $string2); 
     $string2 = str_replace("%D6", "Ö", $string2); 
     $string2 = str_replace("Ü", "Ü", $string2); 
     $string2 = str_replace("%DC", "Ü", $string2); 
     $string2 = str_replace("ß", "ß", $string2); 
     $string2 = str_replace("%DF", "ß", $string2); 
     return $string2; 
    } 

它總是返回我通過在同一個字符串我在哪裏失去了一些東西或者是有另一種方式做到這一點。 ?

+0

有您設置到文件的編碼類型UTF-8或UTF-16? –

+0

我使用UTF-8 – Paedow

+0

什麼是你輸入的字符串? – Rizier123

回答

1
$string = preg_replace("/ä/", "ä", $string); 
... 

,但更好的方法是:

$string = htmlentities($string, ENT_QUOTES); 
+0

- 1預浸更換不完成OP – CorbinMc

+0

ヶ輛的目標????? – Ohgodwhy

+0

ヶ輛工程恰到好處:) – Paedow

0

檢查您對比的輸出是不是HTML頁面,因爲它會再回來的字符轉換。