我知道在PHP中解析HTML有很多问题,但我似乎无法找到我遇到的具体问题。我的代码适用于页面中的其他元素,并且还会迭代返回标记名称的输入。同时它们的value属性为空,当其中2个值具有肯定值时。这是我的代码
$html = file_get_contents('http://...sample website...html');
$doc = new DOMDocument;
libxml_use_internal_errors(true);
$doc->loadHTML($html);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("//*/input[@type='hidden']");
if(!is_null($elements)){
foreach ($elements as $element) {
echo "<br/>[". $element->nodeName. "]";
echo $element->nodeValue. "\n";
}
}
答案 0 :(得分:0)
我自己得到了,如果其他人有类似的问题,那就是nodeValue返回一个元素的“innerHTML”,以使其属性使用$element -> getAttribute("value")
(对于“value”属性)
答案 1 :(得分:0)
$xpath->query("//*/input[@type='hidden']/@value");
而不是
$xpath->query("//*/input[@type='hidden']");
也很有效。