OVH Cloud OVH Cloud

ereg, substr et cie

5 réponses
Avatar
Harry Cadoch
Bonjour,
Je voudrais savoir s'il y a un moyen de compter les occurrences d'un motif
ds une string?
Par ex si j'ai output="un**deux**trois**quatre**cinq", j'aurais voulu savoir
combien de fois le motif "**" apparait dans la chaine,svp?
Merci.

5 réponses

Avatar
P'tit Marcel
"Harry Cadoch" écrivit
news:400da74e$0$781$:

Je voudrais savoir s'il y a un moyen de compter les occurrences d'un
motif ds une string?


substr_count est ton amie

Avatar
Benoit F
Je voudrais savoir s'il y a un moyen de compter les occurrences d'un motif
ds une string?
Par ex si j'ai output="un**deux**trois**quatre**cinq", j'aurais voulu
savoir

combien de fois le motif "**" apparait dans la chaine,svp?


Ok, le manuel Php est peut être un peu gros et il est plus facile de
demander ! Heuresement qu'il y a des ames charitables pour ça ! (merci aux
gouroux qui prennent le temps de répondre)

La réponse :

substr_count -- Compte de le nombre d'occurrences de segments dans une
chaîne

substr_count('un**deux**trois**quatre**cinq','**') => 3

http://fr3.php.net/substr_count

--
Benoit F.

Avatar
Hugues Peeters
Je voudrais savoir s'il y a un moyen de compter les occurrences d'un
motif ds une string? Par ex si j'ai
output="un**deux**trois**quatre**cinq", j'aurais voulu savoir combien
de fois le motif "**" apparait dans la chaine


La fonction preg_match_all() devrait faire l'affaire.

preg_match_all(string $pattern, string $subject, array $matches)

Il suffit de compter le nombre de cellule présente dans le sous
tableau $matches[1].

$patternOccurrences = count($matches[1]);

Donc, dans le cas vous donnez, cela devrait donner

$string = "un**deux**trois**quatre**cinq";

if (preg_match_all("~**~", $string, $matches))
{
$patternOccurrences = count($matches[0]);
}


Hugues Peeters

---
http://www.claroline.net

Avatar
NTH
un marteau piqueur pour tuer une mouche?

"Hugues Peeters" a écrit dans le message de
news:bum992$2um$
Je voudrais savoir s'il y a un moyen de compter les occurrences d'un
motif ds une string? Par ex si j'ai
output="un**deux**trois**quatre**cinq", j'aurais voulu savoir combien
de fois le motif "**" apparait dans la chaine


La fonction preg_match_all() devrait faire l'affaire.

preg_match_all(string $pattern, string $subject, array $matches)

Il suffit de compter le nombre de cellule présente dans le sous
tableau $matches[1].

$patternOccurrences = count($matches[1]);

Donc, dans le cas vous donnez, cela devrait donner

$string = "un**deux**trois**quatre**cinq";

if (preg_match_all("~**~", $string, $matches))
{
$patternOccurrences = count($matches[0]);
}


Hugues Peeters

---
http://www.claroline.net



Avatar
Hugues Peeters
La fonction preg_match_all() devrait faire l'affaire.


un marteau piqueur pour tuer une mouche?


Sans doute. Mais si celui-ci est dans mon garage, alors que
je devrais aller en ville pour chercher de l'insecticide ... ;-)

Cordialement,

Hugues Peeters

---
http://www.claroline.net