PHP DOMDocument: как мне получить значение поля ввода - PullRequest
3 голосов
/ 22 ноября 2011

Как мне получить значение поля ввода, подобного приведенному ниже, где оно не имеет атрибута ID, используя PHP DOMDocument?

<input type="text" name="make" value="Toyota">

Ответы [ 2 ]

15 голосов
/ 22 ноября 2011

XPath делает это простым, предполагая, что это единственный текстовый ввод с именем "make" в качестве имени:

$dom = new DOMDocument();
$dom->loadHTML(...);
$xp = new DOMXpath($dom);
$nodes = $xp->query('//input[@name="make"]');
$node = $nodes->item(0);

$car_make = $node->getAttribute('value');

Если настраницы (что вполне возможно), тогда вам придется проделать дополнительную работу, чтобы сузить КОТОРЫЙ из этих нескольких входов вы хотите.

0 голосов
/ 17 февраля 2019
$dom = new DOMDocument();
$dom->loadHTML($result);
$xpath = new DOMXpath($dom);
$node = $xpath->query('//input[@name="token"]/attribute::value');
$token = $node->item(0)->nodeValue;
...