Nombre d'occurence d'un mot dans une chaine
Fermé
hadjir
Messages postés
107
Date d'inscription
samedi 3 janvier 2009
Statut
Membre
Dernière intervention
7 janvier 2010
-
18 avril 2009 à 23:25
aaa - 16 sept. 2010 à 11:11
aaa - 16 sept. 2010 à 11:11
A voir également:
- Nombre d'occurence d'un mot dans une chaine en c
- Dans cette présentation, trouvez l'étoile. quel nombre contient-elle ? ✓ - Forum Word
- Chaine tnt gratuite sur mobile - Guide
- Mettre un mot de passe sur un dossier - Guide
- Supprimer occurence mot word ✓ - Forum Word
- Voir mot de passe wifi android - 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.
19 déc. 2009 à 11:27
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.
21 déc. 2009 à 11:00
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
16 sept. 2010 à 11:11