un preg_match n'excluant pas les guillemets

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : un preg_match n'excluant pas les guillemets

Re: un preg_match n'excluant pas les guillemets

par Anémone » 03 janv. 2011, 01:01

Super!
J'ai ajouté x5C pour l'antislash pour faire bonne mesure.
Merci beaucoup,

Thierry

Re: un preg_match n'excluant pas les guillemets

par stealth35 » 03 janv. 2011, 00:07

il suffis juste de rajouter le guillemet pour ton expression
faire un expression du genre :
preg_match ('/^[\w\x20\x22\x27\x2D]+$/u', $sujet);
\w : toutes les caratere alphanumerique (dont les accent grace a l'option u)
\x20 : le code ascii pour l'espace
\x22 : le code ascii pour le guillmet
\x27 : le code ascii pour l'apostophe
\x27 : le code ascii pour le tiret

pourquoi les code ascii ? par que qu'on a pas besoin de les echaper :wink:

un preg_match n'excluant pas les guillemets

par Anémone » 02 janv. 2011, 23:58

Bonjour,

Cherchant à exclure un certain type de caractères, dont les guillemets d'une chaine, j'utilise le code:
if(!preg_match ('/[a-zA-Z 0-9 éëêèàäâçôùûüî-]$/', $sujet))
{echo "caractères non conformes";}
Pour tous les caractères autres que ceux définis par l'expression régulière, j'ai bien "caractères non conformes" qui s'affiche, mais pas pour les guillemets placés à l'intérieur de $sujet, alors que si mon guillemet est à la fin de $sujet, "caractères non conformes" s'affiche...

Merci pour vos lumières,
et bons voeux,
cordialement,

Thierry