PHP转换特殊字符,如ş到s,ţ到t,ă到a

adr*_*TNT 3 php character

我不确定如何命名我需要的东西,我希望在PHP中将字符转换为更"正常"的字符集,例如:

? to become s
? to become t, 
? to become a
Run Code Online (Sandbox Code Playgroud)

我有罗马尼亚城镇名称,我想在URL中使用更多"普通"字符.我想我想将罗马尼亚字符转换为美国(或者任何正确的名称来称呼它).

sea*_*den 5

这个怎么样:

$text = str_replace(array("?","?","?"),array("s","t","a"),$text);
Run Code Online (Sandbox Code Playgroud)


Flo*_*ian 5

你想做什么叫做音译.在intl扩展中有一个Transliterator(仅限PHP 5.4):http://www.php.net/manual/en/transliterator.transliterate.php

例:

$str = 'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ';
$rule = 'NFD; [:Nonspacing Mark:] Remove; NFC';

$myTrans = Transliterator::create($rule); 
echo $myTrans->transliterate($str);

//aaaaaceeeeiiiinooooouuuuyy
//AAAAACEEEEIIIINOOOOOUUUUY
Run Code Online (Sandbox Code Playgroud)