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.