Hi,
kann mir jemand sagen, was ich hier falsch mache?
if (preg_match("/[(user)(menu)(cart)]/",$PHP_SELF)) { ... }
also, zunächst einmal wiederholst Du in der Zeichenklasse ziemlich viele Zeichen. Die RegExp lässt sich kürzer schreiben: /[()usermncat]/
Ich möchte unterscheiden,
ob sich der User auf einer Seite "user", "menu", "cart" befindet, oder nicht.
Wieso benutzt Du dann eine Zeichenklasse?
Und nach meinem laienhaften Verständnis,
habe ich 3 Teilausdrücke,
die von eckigen ODER Klammern umrahmt sind.
Es gibt keine ODER-Klammern, nur ein ODER-Zeichen: "|".
Was mache ich falsch?
Übrigens sind auch die runden Klammern völlig überflüssig.
P.s.: Kann ich das auch mit strpos() oder irgendwas schnellerem
als preg_match() realisieren?
Sicher. Du kannst Dir den gesuchten Teilstring extrahieren und einfach mit dem Gleichheitsoperator vergleichen.
Cheatah
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes