Извлечь значение атрибута из скрытого элемента ввода, используя DOMXPath - PullRequest
4 голосов
/ 07 февраля 2010

У меня есть кусок 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;

Но он возвращает пустой массив. Где ошибка?

Ответы [ 2 ]

7 голосов
/ 07 февраля 2010

Попробуйте получить атрибут value элемента input с атрибутом name имя-примера

'//input[@name="example-name"]/@value'

Результат

Array
(
    [0] => example-value
)

Ваш XPath не выбирал ось атрибута ( Я думаю, это то, что она называется ), но текстовая ось и, поскольку на входе нет текста, значение в массиве было пустым. Он все же нашел элемент.

4 голосов
/ 07 февраля 2010
$node->getAttribute('value');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...