Rechercher l'absence d'une chaine, via ereg

Petit nouveau ! | 1 Messages

21 juin 2013, 14:21

Bonjour,

Cela fait plusieurs heures que je tente de trouver une solution à mon besoin actuel, via forum / tuto / essais personnels, sans succès. Je viens donc finalement quérir votre aide.

Mon problème : j'ai besoin d'une expression régulière me permettant d'obtenir 'true' de la part de 'ereg', si une chaine de caractère n'est pas trouvée.
Concrètement : je voudrai que 'ereg' me renvoie 'true' si la chaine testée ne contient pas 'KO'.

Je ne peux toucher au code source faisant le test, je dois donc me contenter de l'instruction PHP suivante :
return (boolean) ereg($pattern, $response);
Seul le $pattern est modifiable (via interface d'administration).

Voici une partie des patterns déjà tentés, sans succès :
^((?!KO).)*$
[^KO]
[^(KO)]
Merci pour votre aide.
FS.

ViPHP
ViPHP | 2577 Messages

21 juin 2013, 14:56

Peut être :
return (ereg($pattern, $response) === false) ;
Edit : Désolé, je n'avais pas lu ton post avec attention.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

21 juin 2013, 20:01

Salut,

- ereg est dépréciée utilise preg_match a la place.
- pas besoin d'expression régulière pour cela un simple strpos suffit. Si la chaîne n'est pas présente tu auras false.

@+
Il en faut peu pour être heureux ......