我正在使用CakePHP 3.6,当我使用德语变音符号的单词时:
Text::slug('Grundstücke')
我会得到:
Grundstucke(其中ü= u)
但这不正确,我应该得到:
Grundstuecke(其中ü= ue)
是否有设置选项以便按照我希望的方式转换变音符号?
答案 0 :(得分:2)
Text::slug()
在内部使用transliterator_transliterate
(请参阅php doc)。
因此您需要更改正在使用的默认音译器。
经过一番研究后,我发现了一个适合你的方法。
在bootstrap.php文件的末尾添加:
\Cake\Utility\Text::setTransliteratorId( 'de-ASCII; Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove ');
然后您的文字将按预期转换。
资源我以前找到了这个答案:
Text::transliterate()
de-ASCII