(PHP 3 >= 3.0.17, PHP 4 >= 4.0.1, PHP 5)
levenshtein -- Calcule la distance Levenshtein entre deux chaîneslevenshtein() calcule la distance Levenshtein entre deux chaînes de caractères. Elle retournera -1 si l'un des deux arguments contient plus de 255 caractères.
La distance Levenshtein est définie comme le nombre
minimal de caractères qu'il faut remplacer, insérer ou modifier
pour transformer la chaîne str1
en
str2
. La complexité de l'algorithme
est en O(m*n),
où n et m sont les tailles
respectives de str1
et
str2
: c'est plutôt bien, en comparaison
de similar_text(), qui est en
O(max(n,m)**3), mais cela reste très coûteux.
Dans sa forme la plus simple, levenshtein()
va prendre uniquement deux chaînes de caractères
comme paramètres, et calculer simplement le nombre d'insertions,
de remplacements et d'effacements nécessaires pour transformer
str1
en str2
.
La deuxième variante de la fonction prend trois paramètres supplémentaires qui représentent les coûts d'insertions, de remplacements et d'effacements. C'est une version plus générale de la première fonction, mais qui est un peu moins efficace.
Voir aussi soundex(), similar_text() et metaphone().
Précédent | Sommaire | Suivant |
join | Niveau supérieur | localeconv |