我正在使用 CakePHP 3.6,当我使用带有德语变音符号的单词时,例如:
Text::slug('Grundstücke')
我会得到:
Grundstucke(其中 ü = u)
但这是不正确的,我应该得到:
Grundstuecke(其中 ü = ue)
是否有一个选项可以设置,以便元音变音按照我想要的方式进行转换?
更改您的音译器
The Text::slug()
内部使用transliterator_transliterate
(see php doc).
因此,您需要更改正在使用的默认音译器。
经过一番研究后,我找到了一个适合您的方法。
在 bootstrap.php 文件末尾添加:
\Cake\Utility\Text::setTransliteratorId( 'de-ASCII; Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove ');
然后您的文本将按照您的预期进行转换。
Notes
我用来找到这个答案的资源:
- 蛋糕kPHPText::transliterate()
- 音译标识符文档
-
音译者列表ID- 获取有效标识符的列表 - 这就是我找到最终起作用的标识符的方法:
de-ASCII
-
文本实用程序 API- 设置新的默认音译器 ID。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)