Как преобразовать специальные символы в обычные символы? - PullRequest
7 голосов
/ 15 марта 2012

Я пытаюсь преобразовать символы, такие как:

ë, ä, ï, ö, etc.

В обычные символы, такие как:

e, a, i, o, etc.

Каков наилучший способ сделать это?Я пробовал много вещей, таких как preg_replace и str_replace.

Может кто-нибудь мне помочь?

- РЕДАКТИРОВАТЬ -

То, что я пытался, было:

$ts = array("[À-Å]","Æ","Ç","[È-Ë]","/[Ì-Ï]/","/Ð/","/Ñ/","/[Ò-ÖØ]/","/×/","/[Ù-Ü]/","/[Ý-ß]/","/[à-å]/","/æ/","/ç/","/[è-ë]/","/[ì-ï]/","/ð/","/ñ/","/[ò-öø]/","/÷/","/[ù-ü]/","/[ý-ÿ]/");

$tn = array("A","AE","C","E","I","D","N","O","X","U","Y","a","ae","c","e","i","d","n","o","x","u","y");

$title = preg_replace($ts, $tn, $text);

Ответы [ 2 ]

24 голосов
/ 15 марта 2012

попробуй это .. у меня работает.

iconv('utf-8', 'ascii//TRANSLIT', $text);
18 голосов
/ 25 ноября 2013

Мне нравится ответ Стьюи, но для полноты это работает для меня.

preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($foo));
...