Точность поискового слова, возможно, с использованием расстояния Левенштейна

У меня есть таблица mySQL, в которую люди добавляют свои имена и интересы. Я хочу использовать какое-то совпадение слов, которое проходит и находит либо 100% совпадение, либо близкое совпадение. Я слышал о расстоянии Левенштейна, но понятия не имею, как заставить его проходить через мой стол.

    $input = $_POST["interest"];
    $result = mysql_query("SELECT interest_desc FROM interests");

Погуглили и дошли до этого пункта

   function closest($seed, $haystack){
   $shortest = -1;
     foreach ($haystack as $word){
      $lev = levenshtein($seed, $word);
       if ($lev == 0) {
           $closest = $word; $shortest = 0; break;
       }
       if ($lev <= $shortest || $shortest < 0) {
       $closest  = $word; $shortest = $lev;
       }
}
return $closest;
}
$array = mysql_fetch_row($result);
$closestmatch = closest($input,$array);
echo $closetmatch;
6
задан user1064660 6 December 2011 в 01:59
поделиться