Bonjour, j'ai un petit soucis avec la conception d'une expression réguliére.
Elle a pour but de trouver un mot dans une phrase, ce mot peut etre suivi d'un '.'
';' ',' '?' '!' ':space:' mais le mot ne doit pas commencer par une apostrophe
Donc voici mon code:
Le probléme c'est que le regex prend un espace avant le 'armes!' et ensuite non, jarrive pas trop a comprendre d'ou vient l'erreur..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php $_POST['content']="armesssssre armes! a feu armes l'armes"; $mot="/[^\'](armes)[:space:|\!|\?|\.|\;]/"; $word="armes"; if( preg_match($mot,$_POST['content'],$matches)) { //blablablabla }
si quelqu'un peut m'aider ca serait geniale! merci d'avance
EDIT: bon j'ai trouvé mon problème, qui en était pas vraiment un mais plus une mauvaise compréhension de la variable $matches..
Je suis passer sur preg_split mais le problème elle me retourne les sous chaines ne corresponds pas a mes critères comment faire l'inverse simplement sans utiliser le flag de cette fonction...
Partager