У меня есть кусок кода HTML:
<form method="post" action="/"> <input type="hidden" name="example-name" value="example-value"> <button type="submit">Submit</button> </form>
Как я могу извлечь значение скрытого ввода с помощью DOMXPath в PHP? Я пробовал что-то вроде этого:
//$site - the html code $doc = new DOMDocument(); $doc->loadHTML($site); $xpath = new DOMXpath($doc); $kod = $xpath->query("//input[@name='example-name']"); foreach($kod as $node) $values[]=$node->nodeValue; return $values;
Но он возвращает пустой массив. Где ошибка?
Попробуйте это, чтобы получить атрибут value
input
элемента с name
атрибута example-name
'//input[@name="example-name"]/@value'
результат
Array ( [0] => example-value )
Ваш XPath не выбрал ось атрибута ( я думаю, что это так называется ), но текстовая ось, и поскольку вход не имеет текста, значение в массиве было пустым. Однако он нашел элемент.
$node->getAttribute('value');