Трансли в url из русского текста

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Аватара пользователя
Nikoshka
Сообщения: 120
Зарегистрирован: 15 май 2006, 05:24

Возникла такая проблема. Есть адреса типа:

Код: Выделить всё

/index.php?name=Категория
Преобразовал их:

Код: Выделить всё

/Категория/
Но появилось желание сделать транслитом т.е. чтобы было
/categoriya/

Я пока вижу вот такие способы решения:
1. При запросе из БД, когда мы олучаем эти имена категорий (база категорий) мы их обрабатывает транлитчиком, отдельно написаным, а потом вставляем в url. Только как потом из урла выделить регулярными выражениями текст на русском?
2. Может как-то можно в рег выражениях это сделать? Т.е. находим регулярными

Код: Выделить всё

/categoriya/
преобразуем это в "Категория" и вставляем в нормальный запрос.. но как преобразовать с трансилита? Что-то я вообще ничего не пойму :(
UUU
Сообщения: 310
Зарегистрирован: 17 фев 2004, 09:27
Откуда: Иваново
Контактная информация:

Однозначно из транслита в русский никак не сделаешь :-(
А так алгоритм - берем 3 (или 4 - такс колво латинских букв при преобразовании одной русской. например щ - sch) сравниваем с хешем, если есть такая буква - пишем ее, если нет - убираем последнюю букву и опять сравниваем.
Задача не благодарная. Лучше первоначальные ссылки изменить.
Реклама запрещена. См. Профиль :-)
Аватара пользователя
Nikoshka
Сообщения: 120
Зарегистрирован: 15 май 2006, 05:24

Я тут подумал, проще всего в БД сделать поле с транслитом. Туда при добавлении транслитную версию кидать. Просто такой метод мне показался глупым, вот и решил спросить... а тут оказывается :(
Аватара пользователя
Nikoshka
Сообщения: 120
Зарегистрирован: 15 май 2006, 05:24

Так по ходу дела лучше, чем нагружать его такими преобразованиями на каждом шагу по 150 раз... и для категорий и для всего остального
Ответить