preg match compte correspond
J'ai un preg match de déclaration, et il vérifie pour les matchs, mais je me demandais comment vous pouvez compter les matches. Tous les conseils appréciés.
$message='[tag] [tag]';
preg_match('/\[tag]\b/i',$message);
par exemple un nombre de cette chaîne de message devrait conduire à 2 matchs
OriginalL'auteur Scarface | 2010-06-17
Vous devez vous connecter pour publier un commentaire.
donne
2
. Remarque vous ne pouvez pas utiliser\b
parce que le mot frontière est avant le]
, pas après.Voir preg_match_all.
\b
être utilisé, il suffit d'affecter ce qui est adapté (c'est à dire la[tag]
devra être suivie par un caractère de mot).grâce salathe apprécier l'entrée
OriginalL'auteur Artefacto
preg_match déjà renvoie le nombre de fois que le motif trouvé.
Cependant, ce ne sera 0 ou 1 comme il s'arrête après le premier match. Vous pouvez utiliser preg_match_all au lieu de cela car elle permet de vérifier l'ensemble de la chaîne et de retourner le nombre total de matches.
OriginalL'auteur webbiedave
Vous devez utiliser
preg_match_all
si vous souhaitez faire correspondre toutes les occurences.preg_match_all
retourne le nombre de matchs.preg_match
renvoie 0 ou 1, car il correspond qu'une seule fois.Vous êtes les bienvenus.
OriginalL'auteur Matěj G.
Je pense que vous avez besoin preg_match_all. Elle renvoie le nombre de matchs qu'il trouve. preg_match s'arrête après la première.
OriginalL'auteur Manos Dilaverakis