Commit b1cace30 authored by Charles DORMEVAL's avatar Charles DORMEVAL
Browse files

classification par dossiers

parent 44cc6937
This diff is collapsed.
wanted
story
georgia
cohn
merely
inflexible
remainder
knowing
forbids
husbands
<form method="POST" action="levenshtein.php">
<p>
<label for="login">quel mot cherchez vous ?</label>
<input type="text" id="login" name="motCher"/>
</p>
<p>
<input type="submit" value="Envoyer" />
</p>
<p>
<input type="reset" value="annuler" />
</p>
<?php
if(isset($_POST["motCher"])){// mot mal orthographié
$input = $_POST["motCher"];
// tableau de mots à vérifier
$words = array('apple','pineapple','banana','orange',
'radish','carrot','pea','bean','potato','bananas',);
$filename = "dico-en.txt";
$handle = fopen($filename,"r");
$content = fread($handle, filesize($filename));
fclose($handle);
$split = explode("\n",$content);
// aucune distance de trouvée pour le moment
$shortest = -1;
// boucle sur les mots pour trouver le plus près
foreach ($split as $word) {
// calcule la distance avec le mot mis en entrée,
// et le mot courant
$lev = levenshtein($input, $word);
// cherche une correspondance exacte
if ($lev == 0) {
// le mot le plus près est celui-ci (correspondance exacte)
$closest = $word;
$shortest = 0;
// on sort de la boucle ; nous avons trouvé une correspondance exacte
break;
}
// Si la distance est plus petite que la prochaine distance trouvée
// OU, si le prochain mot le plus près n'a pas encore été trouvé
if ($lev <= $shortest || $shortest < 0) {
// définition du mot le plus près ainsi que la distance
$closest = $word;
$shortest = $lev;
}
}
echo "Mot entré : $input\n";
if ($shortest == 0) {
echo "Correspondance exacte trouvée : $closest\n";
} else {
echo "Vous voulez dire : $closest ?\n";
}
}
else {
echo "vous navez pas entré de mot";
}
?>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment