Texter mit x: RegEx -> alle Input type="text" finden die nicht readonly sind

Beitrag lesen

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...

Die Reihenfolge und was so vorkommen kann, ist vielseitig. Entweder man kann es einfach halten, da besteht in deinem Fall durchaus eine Chance oder ein anderes Werkzug muß her.

Du solltest auf jeden Fall dafür sorgen, daß deine Suchmuster auf möglichst kurze Treffer zielen. .*> kann auf sehr viel zutreffen u.U. auch auf irgendwas>irgendwas> also über mehrer Tags gehen. Ein beliebiges optionales Zeichen, welches kein > ist schafft ggf. Abhilfe. Eventuell auch die Modifier beachten.

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

Um mit regex Zeichenketten nicht zu finden mußt Du Lookarounds bemühen.