Extrahieren Sie Formularfelder mit RegEx
Ich suche nach einer Möglichkeit, alle Formulareingaben und entsprechenden Werte von einer Seite mit einer bestimmten URL und einem bestimmten Formularnamen abzurufen.
function GetForm($url, $name)
{
return array
(
'field_name_1' => 'value_1',
'field_name_2' => 'value_2',
'select_field_name' => array('option_1', 'option_2', 'option_3'),
);
}
GetForm('http://www.google.com/', 'f');
Kann mir jemand die notwendigen regulären Ausdrücke liefern, um dies zu erreichen?
BEARBEITEN: Ich verstehe, dass das Abfragen des DOM weitaus zuverlässiger ist. Ich suche jedoch nach einer website-unabhängigen Lösung, mit der ich alle Felder eines bestimmten Formulars abrufen kann. Ich glaube nicht, dass dies mit DOM möglich ist, ohne zuerst die Dokumentknoten zu kennen, irre ich mich?
Ich benötige keine kugelsichere Lösung, nur etwas, das auf Standardwebseiten funktioniert, für das FORM-Tag, das ich mit dem folgenden RegEx entwickelt habe.
'~<form.*?name=[\'"]?' . $name . '[\'"]?.*?>(.+?)</form>~is'
Ich glaube, dass es nicht schwierig sein wird, etwas Ähnliches für Eingabefelder zu tun. Am schwierigsten finde ich die RegEx für die Auswahl- und Optionsfelder.