Hi!
Kann es sein, dass switch reguläre Ausdrücke nicht wirklich mag?
Nein, was du da als Ausdruck notierst ist dem switch egal, denn es bekommt nur dessen Ergebnis zu Gesicht. Das Ergebnis der Ausdrucks
preg_match('/checkbox((.*))input/',$var2)
ist 0. Wenn man $var2 mit 0 vergleicht, wird Der Inhalt von $var2 in einen Integer konvertiert, dabei kommt 0 raus. 0 == 0, erster case passt.
Du möchtest nicht $var2 (konvertiert zu 0) mit den Ergebnissen der preg_matches vergleichen sondern das Ergebnis, das preg_match im Erfolgsfall liefert, soll mit dem switch-Ausdruck übereinstimmen.
Lo!