Nombre d'occurence d'un mot dans une chaine
hadjir
Messages postés
132
Statut
Membre
-
aaa -
aaa -
Bonjour,
j'ai une question :
j'ai une chaine de caractére composé de plusieurs mots par des virgules.
je cherche comment calculer le nombre d'occurence de cette mot dans la chaine en php.
merci de me répondre je cherche une réponse le plutot possible si c'est possible.
merci d'avance
j'ai une question :
j'ai une chaine de caractére composé de plusieurs mots par des virgules.
je cherche comment calculer le nombre d'occurence de cette mot dans la chaine en php.
merci de me répondre je cherche une réponse le plutot possible si c'est possible.
merci d'avance
A voir également:
- Nombre d'occurence d'un mot dans une chaine en c
- Mot de passe - Guide
- Trousseau mot de passe iphone - Guide
- Mot de passe administrateur - Guide
- Mot de passe bios perdu - Guide
- Nombre de jours entre deux dates excel - Guide
1 réponse
salut,
tardivement certes mais bon ça pourrait peut être encore servir :
Voilà ici ça compte combien d'occurences de "le" ou "la" se trouvent dans ta chaine.
tardivement certes mais bon ça pourrait peut être encore servir :
<?php
function retour_nb($chaine, $occurence)
{
preg_match_all('`'.$occurence.'`', $chaine, $table, PREG_SET_ORDER);
return count($table);
}
$chaine='le camion ecrase le zoizo, la conductrice lâche la pédale'; // La chaine sujette
echo retour_nb($chaine, 'l[e|a]'); // Appel de la fonction avec ta chaine et le mot à rechercher
?>
Voilà ici ça compte combien d'occurences de "le" ou "la" se trouvent dans ta chaine.
je fais actuellement des recherches sur les possibilitées de traitement de textes en php, et ta fonction ma fait découvrir des fonctionalitées PHP que je ne conaissais pas ( mise entre crochets pour recherche soit "le", soit "la" )
Merci de ta contribution !
Seule remarque, ta fonction retourne le nombre d occurence d'une suite de caractère l>e ou l>a mais sans respecter la casse ...
A tu une idée comment intégrer la distinction entre "le" et "possible" ?.
Merci, Bonne journée !
Alex, depuis Strasbourg.
pour la requete suivante:
$nbOccurrences = preg_match_all('le', $string);
il faut utiliser les délimiteurs de motifs :
~ : c'est le caractère délimiteur, il marque le début et la fin du motif
\b : c'est le délimiteur de mot donc ça signifie qu'on cherche à ce qu'il n'y ait pas de "lettre" avant ou après (suivant sa position)
i (option) : insensible à la casse
ce qui donne donc :
$nbOccurrences = preg_match_all('~\ble\b~i', $string, $matches);
ainsi, les "possible", "electrictrité" ou encore "lecture" seront ignorés ....
détails:
En fin de mot : \Ble\b
En début de mot : \ble\B
En plein dans un mot : \Ble\B