2010-06-20 8 views
0

Je suis confronté à un petit problème. Ma chaîne est From {start} to {end} et je veux la valider en utilisant preg_match() pour éviter les caractères illégaux.PHP preg_match: escaping {and}

preg_match("/^[a-zA-Z\{\} ]{1,}$/",$va r)

Le point est l'évasion pour { et }.

merci :)

Répondre

1

Vous n'avez pas besoin d'échapper accolades à l'intérieur des crochets:

preg_match('!^[a-zA-Z{} ]+$!', $var); 

Si vous devez échapper les caractères, il suffit de mettre une barre oblique inverse (\) devant eux. Remarque: Si vous utilisez une chaîne entre guillemets, vous devrez peut-être échapper aux barres obliques inverses de l'interprétation. Par exemple:

  • '\t' correspond à un caractère de tabulation;
  • "\t"est un caractère de tabulation; et
  • "\\t" est équivalent à '\ t'.
+0

mmm, ok Je comprends vraiment le problème est que la chaîne est passée par get. – Mike