par
desparlsp » 27 juil. 2009, 23:17
Bonjour a tous,
J'ai trouve la fonction suivante qui permet de compter le nombre de mots specifiques dans une chaine en php :
code:
Code : Tout sélectionner
<?
function str_incounter($match,$string) {
$count_match = 0;
for($i=0;$i<strlen($string);$i++) {
if(strtolower(substr($string,$i,strlen($match)))==strtolower($match)) {
$count_match++;
}
}
return $count_match;
}
//on declare les variables pour l'exemple
$mot="essais";
$string="voici un essais comptage essais numero un";
//si j'applique la fonction
echo $count_some = str_incounter($mot,$string);
?>
J'obtiens bien le nombre 2, car le mot "essais" apparait bien deux fois.
Mais je n'ai pas reussi a trouver une fonction similaire qui puisse traiter plusieurs mots.
Par exemple dans l'exemple precedent, si j'applique la variable
$mot="essais numero";
ca ne marche pas car cette fonction ne fonctionne que sur un seul mot. Hors je voudrais pouvoir trouver un moyen pour que le code ou un autre m'indique 3.
Et je n'ai pas reussi a trouver la moindre fonction ou script qui puisse faire cela malgre mes recherche.
je precise que je ne suis pas un pro.
Merci pour vos aides.
David
Ps : Desole pour les accents, j'ecris avec un QWERTY.
Bonjour a tous,
J'ai trouve la fonction suivante qui permet de compter le nombre de mots specifiques dans une chaine en php :
code:
[code]
<?
function str_incounter($match,$string) {
$count_match = 0;
for($i=0;$i<strlen($string);$i++) {
if(strtolower(substr($string,$i,strlen($match)))==strtolower($match)) {
$count_match++;
}
}
return $count_match;
}
//on declare les variables pour l'exemple
$mot="essais";
$string="voici un essais comptage essais numero un";
//si j'applique la fonction
echo $count_some = str_incounter($mot,$string);
?>
[/code]
J'obtiens bien le nombre 2, car le mot "essais" apparait bien deux fois.
Mais je n'ai pas reussi a trouver une fonction similaire qui puisse traiter plusieurs mots.
Par exemple dans l'exemple precedent, si j'applique la variable
$mot="essais numero";
ca ne marche pas car cette fonction ne fonctionne que sur un seul mot. Hors je voudrais pouvoir trouver un moyen pour que le code ou un autre m'indique 3.
Et je n'ai pas reussi a trouver la moindre fonction ou script qui puisse faire cela malgre mes recherche.
je precise que je ne suis pas un pro.
Merci pour vos aides.
David
Ps : Desole pour les accents, j'ecris avec un QWERTY.