8

我正在寻找一种方法,或者可能是一个转换表,它知道如何将元音变音和特殊字符转换为它们在 ascii 中最可能的表示形式。

例子:

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

有人知道吗?

更新:除了公认的答案之外,我还发现 PECLs Normalizer非常有趣,尽管我无法使用它,因为服务器没有它并且没有为我更改。

如果这里的答案对您没有足够的帮助,也请查看此问题。

4

1 回答 1

15

我发现 iconv 完全不可靠,我不喜欢 preg_match 解决方案和大数组......所以我最喜欢的方式是......

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