Extrair campos de formulário usando o RegEx

Eu estou procurando uma maneira de obter todas as entradas de formulário e respectivos valores de uma página dada uma URL específica e nome do formulário.

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');

Alguém pode me fornecer as expressões regulares necessárias para realizar isso?

EDITAR: Eu entendo que a consulta do DOM seria muito mais confiável, no entanto, o que eu estou procurando é uma solução agnóstica do site que me permite obter todos os campos de um determinado formulário. Eu não acredito que isso é possível com DOM sem conhecer os nós do documento primeiro, estou errado?

Eu não preciso de uma solução à prova de bala, apenas algo que funciona em páginas web padrão, para a tag FORM que eu criei o seguinte RegEx;

'~<form.*?name=[\'"]?' . $name . '[\'"]?.*?>(.+?)</form>~is'

Eu acredito que fazer algo similar para campos de entrada não será difícil, o que eu acho mais desafiador é o RegEx para os campos select e option.

questionAnswers(1)

yourAnswerToTheQuestion