Martin Schroeder
Erfahrenes Mitglied
Hallo!
Ich möchte ein Script schreiben, dass die Namen der Formular-Objekte aus einer HTML-Datei zieht.
Ich habe eine regular expression geschrieben, die aber nicht so funktioniert, wie sie soll:
(In $match['param'] sind dann alle Objektnamen gespeichert, die er findet.)
Sie findet entweder nur den Namen des ersten Objekts, oder des letzten, je nach dem, ob nach der Klammer um "<(input|select) .*......" ein "*" kommt. Das ist ja verständlich. Aber warum findet er mit "*" nur das letzte Vorkommen?
Kann mit jemand eine expression schreiben, die funktioniert?
Dafür wäre ich sehr dankbar
Ich möchte ein Script schreiben, dass die Namen der Formular-Objekte aus einer HTML-Datei zieht.
Ich habe eine regular expression geschrieben, die aber nicht so funktioniert, wie sie soll:
PHP:
$regexp='!<form*.*action=["\']bla.html["\'].*>.*(<(input|select) .*name=["\'](?P<param>.*)["\'].*>.*)*.*</form>!Uis';
echo htmlentities($regexp);
preg_match_all($regexp,$contents,$match);
Sie findet entweder nur den Namen des ersten Objekts, oder des letzten, je nach dem, ob nach der Klammer um "<(input|select) .*......" ein "*" kommt. Das ist ja verständlich. Aber warum findet er mit "*" nur das letzte Vorkommen?
Kann mit jemand eine expression schreiben, die funktioniert?
Dafür wäre ich sehr dankbar