如何将特殊字符转换为普通字符?

Mos*_*awi 7 php preg-replace special-characters

我试图转换像下面的字符:

ë, ä, ï, ö, etc.
Run Code Online (Sandbox Code Playgroud)

对于普通字符,例如:

e, a, i, o, etc.
Run Code Online (Sandbox Code Playgroud)

做这个的最好方式是什么?我尝试过很多东西,比如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);
Run Code Online (Sandbox Code Playgroud)

Ste*_*wie 24

试试这个......对我有用.

iconv('utf-8', 'ascii//TRANSLIT', $text);
Run Code Online (Sandbox Code Playgroud)

  • 我试过utf-8而不是utf8,这很有效!谢谢! (3认同)
  • utf8和utf-8对我不起作用.chars被一个问号所取代,就是这样. (3认同)

Dav*_*han 21

我喜欢stewies的回答,但为了完整性,这对我有用.

preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($foo));
Run Code Online (Sandbox Code Playgroud)