2014-12-20 3 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 preg replace не выполняет цели OP – CorbinMc

+0

htmlentities ????? – Ohgodwhy

+0

htmlentities работает просто отлично :) – Paedow

0

Проверьте выход вы сравниваете не на HTML странице, как она будет преобразовывать символы обратно.

Смежные вопросы