Aller au contenu

preg_match problématique


xpatval

Sujets conseillés

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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