2011-01-12 2 views

답변

2

이 그것을 수행해야합니다

$dom = new DOMDocument; 
$dom->load('somefile.html'); 
$xpath = new DOMXPath($dom); 

$data = array(); 

$inputs = $xpath->query('//input'); 
foreach ($inputs as $input) { 
    if ($name = $input->getAttribute('name')) { 
     $data[$name] = $input->getAttribute('value'); 
    } 
} 

$textareas = $xpath->query('//textarea'); 
foreach ($textareas as $textarea) { 
    if ($name = $textarea->getAttribute('name')) { 
     $data[$name] = $textarea->nodeValue; 
    } 
} 

$options = $xpath->query('//select/option[@selected="selected"]'); 
foreach ($options as $option) { 
    if ($name = $option->parentNode->getAttribute('name')) { 
     $data[$name] = $option->getAttribute('value'); 
    } 
} 

을 당신이 당신의 HTML에 여러 형태의이 있는지 여부에 따라()을 구별하고, 여분의 루프를 추가하는 쿼리 두 번째 인수를 전달 할 수 있습니다 .

배열 키 (예 : yourfield[])를 사용하는 경우 약간 조정해야합니다.

관련 문제