8795 sujets

Développement web côté serveur, CMS

Bonjour

je cherche à vérifier si dans cette phase, le mot "[RESOLU]" existe ou non :

$phrase="<[RESOLU] SUJET : blablabla ....>";
if(@preg_match("%<[\[\]a-zA-Z]{8}([-. ])SUJET( .+?)>%si", $phrase, $matches))
		echo "existe";
		$sujet=$matches[2];
		else
		echo "raté";


Résultat : "raté"
sa bloque au niveau du "[RESOLU]"

Merci
Modifié par smartywou (14 Jan 2012 - 21:26)
Euh ... pour moi ton soucis c'est plutôt les accolades ...

if(@preg_match("%<[\[\]a-zA-Z]{8}([-. ])SUJET( .+?)>%si", $phrase, $matches))
{
		echo "existe";

		$sujet=$matches[2];

} else {

		echo "raté";
}


essai ...
Hello,

Je réponds peu être en retard, mais pourquoi faire une telle expression si le mot que tu recherche est connu, donc statique?

Par ailleurs, c'est tes "%" semblent délimiter ton expression, et on constate donc une erreur dans la fin, puisque que tu rajoutes un "si".

Bref, l'expression dont tu as besoin n'est rien d'autre que celle ci: "%\[RESOLU\]%".