- <?php
-
- function ressemblance($chaine_recherchee, $chaine_de_contenu) {
-
- //on supprime des caracteres de la chaine recherchée, n'entrant pas en compte dans le calcul de la ressemblance.
- //trim() sert a supprimer les espaces potentielles en debut et fin de chaine.
- //et strtolower() renvoie la chaîne en minuscules
- $cle_chaine_rech = strtolower(trim(str_replace(array("!", "?", ",", ";", "*" ), "", $chaine_recherchee)));
-
- //on renvoie aussi la chaîne de contenu en minuscules et on explose les chaines, pour obtenir des tableaux
- $explode_contenu = explode(" ", strtolower($chaine_de_contenu));
- $explode_cle = explode(" ", $cle_chaine_rech);
-
- //on compte le contenu des tableau
- $count_tab_cle = count($explode_cle);
- $count_tab_contenu = count($explode_contenu);
-
- //on compare les tableaux
- for($i = 0; $i != $count_tab_contenu; $i++) $pointage[$i] = (in_array($explode_contenu[$i], $explode_cle))?1:0;
-
- // on calcule la somme des valeurs du tableau, et on la retourne sous forme de pourcentage
- return round(((array_sum($pointage)/$count_tab_contenu)*100), 2) . "%";
- }
-
-
- // les 2 paramettres representent respectivement la chaine de mots recherchées, et la chaine où l'on effectue la recherche
-
- $chaine1 = 'test de recherche dans une chaîne';
- $chaine2 = 'chaîne de contenu dans laquelle nous effectuons la recherche des mots de la chaîne 1';
- echo "Chaine 1 = ".$chaine1."<br/>Chaine 2 = ".$chaine2."<br/>";
- echo "Calcul du pourcentage de ressemblance: ".ressemblance($chaine1, $chaine2)."<br/>";
-
-
-
- ?>
<?php
function ressemblance($chaine_recherchee, $chaine_de_contenu) {
//on supprime des caracteres de la chaine recherchée, n'entrant pas en compte dans le calcul de la ressemblance.
//trim() sert a supprimer les espaces potentielles en debut et fin de chaine.
//et strtolower() renvoie la chaîne en minuscules
$cle_chaine_rech = strtolower(trim(str_replace(array("!", "?", ",", ";", "*" ), "", $chaine_recherchee)));
//on renvoie aussi la chaîne de contenu en minuscules et on explose les chaines, pour obtenir des tableaux
$explode_contenu = explode(" ", strtolower($chaine_de_contenu));
$explode_cle = explode(" ", $cle_chaine_rech);
//on compte le contenu des tableau
$count_tab_cle = count($explode_cle);
$count_tab_contenu = count($explode_contenu);
//on compare les tableaux
for($i = 0; $i != $count_tab_contenu; $i++) $pointage[$i] = (in_array($explode_contenu[$i], $explode_cle))?1:0;
// on calcule la somme des valeurs du tableau, et on la retourne sous forme de pourcentage
return round(((array_sum($pointage)/$count_tab_contenu)*100), 2) . "%";
}
// les 2 paramettres representent respectivement la chaine de mots recherchées, et la chaine où l'on effectue la recherche
$chaine1 = 'test de recherche dans une chaîne';
$chaine2 = 'chaîne de contenu dans laquelle nous effectuons la recherche des mots de la chaîne 1';
echo "Chaine 1 = ".$chaine1."<br/>Chaine 2 = ".$chaine2."<br/>";
echo "Calcul du pourcentage de ressemblance: ".ressemblance($chaine1, $chaine2)."<br/>";
?>