Dieter72: RegEx -> alle Input type="text" finden die nicht readonly sind

Beitrag lesen

Hallo nochmal,

zuerst Danke für deine Hilfe...

Moin

preg_match_all('/(\<input.*type\s?\=\s?"text".*>)/', $siteCode,$matches)
Mit diesem Suchpattern hoffe ich alle einzeiligen Eingabe-Felder eines Formulars zu ermitteln.
Das Problem hierbei ist schon, das ich nicht weiss, ob meine Expression so sinnvoll ist...

relativ umständlich

preg_match_all('~<input (.*?)>~')

<- liefert alle Inputs zurück

Das liefert mir aber auch die Inputs zurück, die z.B. Passwortfelder sind, oder?
Ich versuche ja alle einzeiligen Text-Eingabefelder zu ermitteln die nicht readonly sind, wobei hierbei egal sein soll, wie diese deklariert wurden.

Beispiel:

  
a: <input name="vorname" type="text" size="30" maxlength="30">  
b: <input type="text" id="vorname" size="30" maxlength="30">  
c: <input style="width:100%" type="text" name="vorname">  
d: <input name="vorname" type=text>  
e: <input name="vorname" type="text" readonly="readonly">  
f: <input name="vorname" type="password">  

Hierbei sollte a-d gefunden und e,f ausgeschlossen werden.

Mein zweites Problem ist, das ich aber sämtliche Input-Felder die auf "readonly" stehen, ausschliessen möchte.

preg_match_all('~<input (((?!readonly).)*?)>~')

Schließt Inputs aus, die readonly enthalten.

Gruß Bobby

Gruss
Dieter