Я хочу показать Ты имел ввиду альтернатива, когда пользователь ищет неверное слово. Этот код работает, но некоторые результаты не имеют значения. Пример: у меня есть яблоко запись в моей таблице. Если пользователь ищет apple1 результат: вы имели в виду яблоко?, но если пользователь ищет АПОО результат: вы имели в виду раскладывать? Есть ли способ отобразить более релевантные результаты? Вот код:
$search = $_GET ['search'];
$results = array();
foreach ($db->query("SELECT id FROM table") as $name) {
$results[] = $name['id'];
}
$shortest = -1;
foreach ($results as $word) {
$lev = levenshtein($search, $word);
if ($lev <= $shortest || $shortest < 0) {
$closest = $word;
$shortest = $lev;
}
}
echo $closest;
Задача ещё не решена.
Других решений пока нет …