8

ウムラウトと特殊文字をASCIIで最も可能性の高い表現に変換する方法を知っているメソッドまたは変換テーブルを探しています。

例:

Ärger = aerger
Bôhme = bohme
Søren = soeren
pjérà = pjera

誰かアイデアはありますか?

更新:よく受け入れられた回答とは別に、PECLノーマライザー非常に興味深いものでしたが、サーバーにないため、変更されていないため、使用できません。

また、ここでの回答が十分に役立たない場合は、この質問を確認してください。

4

1 に答える 1

15

iconvは完全に信頼性が低く、preg_matchソリューションと大きな配列が嫌いです...だから私のお気に入りの方法は...

    function toASCII( $str )
    {
        return strtr(utf8_decode($str), 
            utf8_decode('ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ'),
            'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
    }
于 2011-07-28T09:41:43.427 に答える