regulärer Ausdruck: Fehler / Sonderzeichen finden
Dirk
- php
0 vol0 Tobias Kloth
Hallo zusammen,
ich möchte eine Variable auf das Vorkommen von Sonderzeichen untersuchen. Ich bin dabei auf folgende Funktion gestoßen:
if (ereg("\|>|<|$|;|"|'|#|?", $b)) {
echo "A match was found.";}
Ich habe da noch nicht alle Zeichen, die ich haben will, abgefragt. Aber es gibt ne Fehlermeldung. Irgendwas scheint mit meinem reg. Ausdruck nicht zu stimmen. Sieht da jemand von Euch nen Fehler? Ich seh ihn nicht.
Alternativ dazu: Gibt es eine automatische Funktion in php, die nur Zahlen und Buchstaben (groß und klein) durchgehen läßt?
Danke im voraus!
Gruß, Dirk
Alternativ dazu: Gibt es eine automatische Funktion in php, die nur Zahlen und Buchstaben (groß und klein) durchgehen läßt?
Danke im voraus!
Gruß, Dirk
hallo dirk,
wenns dir nur drum geht alphanumerische zeichen (a-z, 0-9) zu finden, kannst du das viel einfacher haben:
if($var =~ /[a-zA-Z_0-9]/) {
print "true";
} else {
print "false";
}
oder noch einfacher:
if($var =~ /\w/) { ...
wenn du auf _nicht_einhalten dieser regel prüfen willst geht das mit
if($var =~ /[^a-zA-Z_0-9]/) { ...
oder
if($var =~ /\W/) { ...
gruss aus berlin, volker
Hallo vol,
wenns dir nur drum geht alphanumerische zeichen (a-z, 0-9) zu finden, kannst du das viel einfacher haben:
if($var =~ /[a-zA-Z_0-9]/) {
wenn der Themenbereich Perl wäre hättest du Recht - aber er ist nunmal php, und da funktioniert das etwas anders :-)
Grüße aus Nürnberg
Tobias
Hallo Dirk,
ich möchte eine Variable auf das Vorkommen von Sonderzeichen untersuchen.
was verstehst du unter Sonderzeichen?
Ich habe da noch nicht alle Zeichen, die ich haben will, abgefragt.
welche willst du haben?
Aber es gibt ne Fehlermeldung.
welche?
Sieht da jemand von Euch nen Fehler?
ich vermute mal, dass du um den ganzen Ausdruck noch einen Satz Klammern machen solltest.
Alternativ dazu: Gibt es eine automatische Funktion in php, die nur Zahlen und Buchstaben (groß und klein) durchgehen läßt?
nein, aber mit einem einfachen regulären Ausdruck geht das:
if(preg_match("/[^a-zA-Z0-9]/",$b)){ echo '$b enthält andere Zeichen als a-z und 0-9'; }
ggf. musst du eben noch ö,ä,ü und ß hinzufügen.
Grüße aus Nürnberg
Tobias