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:
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
}
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..

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...