Замена специальных символов из URL на iconv не работает

У меня небольшая проблема с некоторыми из моих URL. Скажем that $result['title'] = Ситроен

В моем URL я хочу, чтобы это слово стало «citroen». Следующая функция делает все правильно, за исключением того, что она удаляет «ë», поэтому мой url становится «citron».

<?php echo strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', $result['title'])));?>

Я думал, что могу решить эту проблему с помощью iconv… но это не работает. «Ситроен» по-прежнему заменяется на «Цитрон».

<?php echo strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', iconv('UTF-8', 'ASCII//TRANSLIT', $result['title']))));?>

Итак, что мне здесь не хватает?

1

Решение

Хорошо, я понял это. Мне нужно установить целевой язык. Работает следующий код (поэтому «Citroën» становится «Citroen»):

<?php setlocale(LC_ALL, 'en_GB.utf8'); echo strtolower(preg_replace('/[^A-Za-z0-9\-]/', '', str_replace(' ', '-', iconv('UTF-8', 'ASCII//TRANSLIT', $result['titel']))));?>
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]