Io la parte di PHP non saprei farla.
pero` la RegExp per estrapolare quello che ti serve si`.
Ti scrivo la sintassi che userei in Perl (puo` essere un po' diversa dal PHP per la parte esterna).

Suppongo di avere tutta la pagina in una variabile stringa: $pagina .

Ad esempio supponiamo che ti serva solo la parte del <body>, mentre vuoi scartare tutto cio` che ci sta prima e dopo (supongo che ci sia un solo <body>)
$pagina =~ s/^.+\<body.*\>(.+)\<\/body\>/$1/is;

Se al posto di body ci metti form ricavi solo il form (e si puo` anche modificare, se ci sono piu` form).
Oppure puoi analizzare i singoli tag dei form, uno per uno, e tenere solo gli attributi che ti servono.

Anche il buon vecchio Tidy ti puo` aiutare a correggere il codice, supponendo che lo fai girare in batch sul server.