Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Обрубить окончания русских слов
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
Есть поиск по базе mysql c помощью LIKE, хотелось бы обрубать окончания русских слов с гласными. Например, пользователь вводит слово "работа" или "работаю", в любом из этих случаев окончания обрубаются.
Пока только крутится такое: сделать транслитерацию ввода, поискать регуляркой символы в конце и отрубить.
Но не слишком ли затратно?
----- Март 2021. Бросил программирование
OrmaJever
Отправлено: 11 Августа, 2016 - 00:14:16
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
есть крутая штука sphinx называется, она умеет делать то что вам надо
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Строитель
Отправлено: 11 Августа, 2016 - 01:01:19
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
OrmaJever пишет:
есть крутая штука sphinx называется, она умеет делать то что вам надо
Не знаю, будет ли актуальным мой ответ после вашего поста, но раз уж написал код, то опубликую (Добавление)
dcc0 пишет:
сделать транслитерацию ввода, поискать регуляркой символы в конце и отрубить.
Набросал рекурсивную функцию, она удаляет все гласные в конце слова. Транслит не нужен
Покинул форум
Сообщений всего: 1043
Дата рег-ции: Июль 2014
Помог: 10 раз(а)
esterio, Sphinx - круто, на даже слишком. Тут не то, чтобы прям на php хочется.
Просто несколько вещей накладывается, хостинг - от hostinger со всякими лимитами (поэтому и был выбран простой LIKE), с другой стороны на этом хостинге немножко придется повозиться с кодировкой.
С третьей стороны - материала не так много и обновляться будет не часто.
Вот и думаю, какие неувязочки могут, если проверять длину слова и обрубать однозначно два символа в конце, например, если длина слова больше 7 символов. Жестоко, но на мой взгляд, достаточно экономно... (Добавление)
esterio, да, спасибо, очень близко к тому, чего хотелось бы
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.