Ich versuche mich gerade an Regulären Ausdrücken.
In meinem Code überprüfe ich mit preg_match einen eingegebenen Namen ob er zulässige Zeichen enthät. Welche Zeichen das sein sollen steht in meinem Pattern der folgendermaßen aussieht:
$name = "!^[-A-Za-z\^'_]+$!";
Wenn ich jetzt allerdings einfach nur ' als Name eingebe wird in meiner Schleife der else-zweig ausgeführt, d.h. ich habe einen ungültigen Namen eingegen.
Also habe ich mir den namen mit echo einfach ausgegen lassen und in der variablen ist nicht ' sondern \' gespeichert!
Meine Frage sind nun:
Warum ist das passiert?
Wie kann ich das verhindern, so das in der Variablen wirklich nur das steht was ich eingegeben habe?
Gibt es dieses Phänomen auch bei anderen Sonderzeichen?
In meinem Code überprüfe ich mit preg_match einen eingegebenen Namen ob er zulässige Zeichen enthät. Welche Zeichen das sein sollen steht in meinem Pattern der folgendermaßen aussieht:
$name = "!^[-A-Za-z\^'_]+$!";
Wenn ich jetzt allerdings einfach nur ' als Name eingebe wird in meiner Schleife der else-zweig ausgeführt, d.h. ich habe einen ungültigen Namen eingegen.
Also habe ich mir den namen mit echo einfach ausgegen lassen und in der variablen ist nicht ' sondern \' gespeichert!
Meine Frage sind nun:
Warum ist das passiert?
Wie kann ich das verhindern, so das in der Variablen wirklich nur das steht was ich eingegeben habe?
Gibt es dieses Phänomen auch bei anderen Sonderzeichen?