Thread preg_match funktion: Fehler (7 answers)
Opened by nour at 2007-07-06 13:11

nepos
 2007-07-06 18:55
#10077 #10077
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Delimiter = Begrenzer.
Z.B.:
/blafasel/ -> Hier ist / der Delimiter
oder
#blafasel# -> hier ist nun # der Delimiter.

Der Delimiter muss immer ein einzelnes Zeichen sein. Sowas wie == geht nicht, weil das quasi einer leeren Regex entsprechend würde. Das erste = markiert den Beginn, das zweite = ist schon wieder das Ende.

Was Sid Burn meinte ist, wenn du nur vergleichen willst, ob $browser exakt dem Wert von $currentbrowser entspricht, dann kannst du gleich
Code: (dl )
if ( $browser == $currentbrowser ) 
schreiben und kannst dir die Regex sparen.

Wenn du wirklich mit einer Regex prüfen willst, und wohl in $browser Zeichen vorkommen, die in ner Regex eine spezielle Bedeutung haben, musst du diese vorher escapen. Oder du benutzt \Q und \E, falls das in PHP geht:
Code: (dl )
preg_match("/\Q$browser\E/", $currentbrowser);

Damit werden Zeichen, die in $browser stehen nicht mehr als Regex sondern quasi so, wie sie da stehen interpretiert. Dadurch haben die für eine RegEx speziellen Sonderzeichen in $browser keine Wirkung mehr.

View full thread preg_match funktion: Fehler