Comment vérifier une similitude partielle de deux chaînes en PHP
Est-il une fonction en PHP qui vérifier le % de similarité de deux chaînes?
Par exemple, j'ai:
$string1="Hello how are you doing"
$string2= " hi, how are you"
et la function($string1, $string2)
sera de retour moi, la vraie, parce que les mots "comment", "sont", "vous" sont présents dans la ligne.
Ou encore mieux, m'a 60% de similitude, parce que "comment", "sont", "vous" est un 3/5 de $string1
.
N'importe quelle fonction existe pas en PHP qui le faire?
source d'informationauteur Ilya Libin | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
Car c'est une belle question, j'ai mis un peu d'efforts:
Comme d'autres réponses ont déjà dit, vous pouvez utiliser similar_text.
Voici la démonstration:
sera de retour le 12, et mettra en $perc le pourcentage de similitude comme vous l'avez demandé.
En outre à Alex de Siri réponse et conformément à l'article suivant:
http://docstore.mik.ua/orelly/webprog/php/ch04_06.htm
PHP fournit plusieurs fonctions qui vous permettent de tester si deux chaînes sont à peu près égales:
SOUNDEX
METAPHONE
DE TEXTE SIMILAIRE
LEVENSHTEIN
Ok, voici ma fonction qui le rend beaucoup plus intéressant.
Je vérifie environ similarité de chaînes.
Ici est un des critères que j'utilise pour que.
Exemple:
Algorithme:
1) Vérifier la similitude de mots et de créer nettoyer les chaînes avec de "bons" mots (dans l'ordre où elles apparaissent dans le vocabulaire).
SORTIE: "combien ça coûte"
2) créer propre chaîne avec des "bons mots" afin qu'elle s'affiche dans la saisie de l'utilisateur.
SORTIE: "combien ça coûte"
3)Comparer les deux sorties - si ce n'est le même - retour non, sinon le même retour oui.
j'aimerais entendre vos avis et suggestion pour l'améliorer
Vous pouvez utiliser la fonction PHP
similar_text
.Vérifier la doc PHP: http://php.net/manual/en/function.similar-text.php