1
이름/값 쌍을 검색합니다.xPath를 사용하여 웹 양식 필드를 구문 분석하는 방법은 무엇입니까?
이름/값 쌍을 검색합니다.xPath를 사용하여 웹 양식 필드를 구문 분석하는 방법은 무엇입니까?
이 그것을 수행해야합니다
$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[]
)를 사용하는 경우 약간 조정해야합니다.
그래서 구문 분석 할 HTML 문서가 있습니까? –
xPath는 XML을 구문 분석하는 데 유용하며 일반적으로 텍스트 영역에 입력 된 XML을 구문 분석하지 않는 한 웹 양식 필드에는 필요하지 않습니다. 더 구체적으로 말하십시오. – Damien