Как заставить Text :: slug () правильно конвертировать немецкие умляуты? - PullRequest
0 голосов
/ 18 мая 2018

Я использую CakePHP 3.6, и когда я использую слова с немецкими умлаутами, например:

Text::slug('Grundstücke')

, я получу:

Grundstucke (где ü = u)

но это не правильно, я должен получить:

Grundstuecke (где ü = ue)

Есть ли возможность установить так, чтобыумлауты обращаются так, как я хочу?

1 Ответ

0 голосов
/ 18 мая 2018

Смените транслитератор

Text::slug() использует внутренне transliterator_transliterate (см. php doc ).

Так что вам нужно изменитьиспользуемый по умолчанию транслитератор.

После некоторого исследования я нашел тот, который будет работать для вас.

В конце вашего файла bootstrap.php добавьте:

\Cake\Utility\Text::setTransliteratorId( 'de-ASCII; Any-Latin; Latin-ASCII; [\u0080-\u7fff] remove ');

Тогда ваш текст будет преобразованкак вы ожидаете.

Примечания

Ресурсы, которые я использовал, чтобы найти этот ответ:

...