Пересечение строк

S-K

Новичок
Добрый день! У меня задача при вводе человеком слов в поисковое поле - выводить подсказки из имеющихся данных (теги, категории и все прочее). Но при клике на подсказанное, нужно в поле ставить общий результат - то есть то, что человек ввел + подсказку. Все было бы просто, допустим человек ввел "Купить красную" - и подсказка "машину", он кликает на подсказку - и получает итоговый запрос "купить красную машину". Однако если он вводит "купить красную ма" и я подсказываю "машину", то получается "купить красную ма машину"
Более сложный пример: введено "купить красную ма", подсказка "красную макукусю" - то есть я должен определить, что мне нужно из основного запроса убрать "красную ма" и подставить туда "красную макукусю". Чтобы в итоге получилось "купить красную макукусю".
Как правильно найти пересечение части строк?
Спасибо
 

AnrDaemon

Продвинутый новичок
Правильно посмотреть, как делают другие.
Например, в подсказке выводить "купить красную машину".
Либо в подсказке выводить что угодно, а текст для подстановки хранить в data- атрибуте.
 

S-K

Новичок
вопрос был о том, как "купить красную ма" - превратить в "купить красную машину", имея подсказке "машину" (ну и прочие ма*).
А также, если "красную машину" нашлось в подсказке. То есть в первом случае надо заменить последнее слово, а во втором - два последних.
И естественно заранее я не знаю, какие слова надо менять. То есть нужно как-то из запроса очистить последнее вхождение частичного совпадения с подсказкой (если в подсказке "красную машину", то из запроса надо стереть "красную ма" и поставить подсказку)
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
Зачем искать пересечение?, заменяй ввод целиком на подсказку
 

S-K

Новичок
А мне надо, чтобы осталось первичное слово. В моем примере "купить". Но таковых слов может быть несколько. Поэтому задача как раз в нахождении частичного (но максимально полного) пересечения.
Запрос "Купить красную ма" - подсказки "красную машину", "мартышку" (при клике на "красную машину" - надо заменить "красную ма" на "красную машину", а при клике на "мартышку" - заменить только "ма").
 

WMix

герр M:)ller
Партнер клуба
подумай как сделать так, чтоб на запрос
"Купить красную ма" были подсказки "Купить красную машину", "Купить мартышку"
 
Сверху