Descrição: Calcula a distância levenshtein() da string, faz um calculo de porcentagem e trás as palavras mais próximas a postada dentro de uma array();
---------------------------------------------------------
Sintaxe: voce_quis_dizer(str Palavra , array Biblioteca de palavras)
Retorno: String
Descrição: Use a função para buscar similiraridades da palavra com outras, caso a anterior esteja escrita de modo incorreto.
Bibliotecas: Nenhuma
Limitações: PHP 4.0+
Função:
<?PHP function voce_quis_dizer($output,$library){ for($i=0;$i<count($library);$i++){ $suggestion[$i]['proximity'] = levenshtein(soundex($output),soundex($library[$i]))*100/strlen($library[$i]); $suggestion[$i]['word'] = $library[$i]; } sort($suggestion); return $suggestion[0]['word']; } ?>
-------------------------------------------------------------------
Exemplo:
<?PHP $array = array('crayo','cachorro','cadela','cão','carinho','carneiro','carne','cor','leonardo','leopardo','guepardo'); print('Você quis dizer: <b>'.voce_quis_dizer('l30nard0',$array).'</b> ?'); function voce_quis_dizer($output,$library){ for($i=0;$i<count($library);$i++){ $suggestion[$i]['proximity'] = levenshtein(soundex($output),soundex($library[$i]))*100/strlen($library[$i]); $suggestion[$i]['word'] = $library[$i]; } sort($suggestion); return $suggestion[0]['word']; } ?>