Aller au contenu

preg_match problématique


Sujets conseillés

Posté

Bonjour,

Je ne me sors pas d'un souci avec la regex suivante:


if( preg_match("/^[-!#$%&\'*+\\./[0-9]=?A-Z^_`a-z{|}~]+/"."/@/"."/[-!#$%&\'*+\\/[0-9]=?A-Z^_`a-z{|}~]+\./"."/[-!#$%&\'*+\\./[0-9]=?A-Z^_`a-z{|}~]+$/", $email) )

Le résultat donne: Unknown modifier '['

Auriez-vous une idée, car je me gratte le neurone depuis quelques jours là-dessus...

merci de vos réponses,

xpatval

Posté

C'est normal : tu utilises / comme délimiteur, et tu ne l'échappes pas lorsque tu l'utilises dans ton expression.

Donc il considère, quand il rencontre le second caractère /, qu'il s'agit de la fin de l'expression, et le caractère suivant, [, n'est pas un modificateur valide.

Vue la complexité de cette dernière, je te suggère de changer de délimiteur.

Posté

Je ne sais pas d'où tu sors cette regexp, mais si le but c'est de vérifier qu'une adresse e-mail est valide, elle est complètement fausse (en plus d'être complètement illisible).

Jacques.

Posté

Je ne sais plus du tout où je l'ai récupéré, etant nul dans les expressions régulières...


Posté (modifié)

Je ne sais pas d'où tu sors cette regexp, mais si le but c'est de vérifier qu'une adresse e-mail est valide, elle est complètement fausse (en plus d'être complètement illisible).

Jacques.

D'autant plus qu'il existe ceci en php :

<?phpif(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)){  echo 'OK';}else{  echo 'NOK';}?>

Bon le script du forum a remplacer l'email ^^ par bob_AT_example.com mais il faut comprendre que j'ai mis un véritable email.

Modifié par kendyan

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...