【发布时间】:2018-03-22 00:59:33
【问题描述】:
我想用id标签提取属性“value”的值。
我的代码:
<?php
$url = 'http://turni.tt-contact.com/Default.aspx';
$contents = htmlentities(file_get_contents($url));
echo $contents."\n"; //html
$dom = new DOMDocument;
$dom->validateOnParse = true;
$dom->loadHTML($contents);
$dom->preserveWhiteSpace = false;
$data = $dom->getElementById("__VIEWSTATE");
echo $data->nodeValue;
?>
我想要属性“value”->“THIS”:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="THIS">
但代码只返回 html 代码。
我需要改变什么?
也可以修改为:
$xpath = new DOMXpath($dom);
$data = $xpath->query('//input[@id="__VIEWSTATE"]');
$node = $data->item(0);
echo $node->getAttribute('value');
我收到此错误:
Fatal error: Call to a member function getAttribute() on null
【问题讨论】:
-
试试 $data->getAttribute('value')
-
getElementById 并不总是有效。找到它 ny xpath
//*[id=".$url."] -
我已经试过了,但是不行。