Thread preg_match funktion: Fehler
(7 answers)
Opened by nour at 2007-07-06 13:11
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 ) 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. |