Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP DOMDocument: How do I get the value of an input field

How do I get the value of an input field like the one below where it does not have an ID attribute using PHP's DOMDocument?

<input type="text" name="make" value="Toyota">
like image 544
FinalForm Avatar asked Nov 21 '11 20:11

FinalForm


2 Answers

XPath makes it simple, assuming that's the only text input with "make" as its name:

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

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

If there's more than one input with that particular field name on the page (which is entirely possible), then you'll have to do some extra work to narrow down WHICH of those multiple inputs you want.

like image 94
Marc B Avatar answered Sep 29 '22 11:09

Marc B


$dom = new DOMDocument();
$dom->loadHTML($result);
$xpath = new DOMXpath($dom);
$node = $xpath->query('//input[@name="token"]/attribute::value');
$token = $node->item(0)->nodeValue;
like image 43
David Corp Avatar answered Sep 29 '22 11:09

David Corp