PHP DOMDocument:从 id 获取属性值

Enz*_*nzo 3 php dom

我想使用 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;
?>
Run Code Online (Sandbox Code Playgroud)

我想要属性“值”->“这个”:

   <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="THIS">
Run Code Online (Sandbox Code Playgroud)

但代码只返回 html 代码。

我需要改变什么?

也可以将其修改为:

$xpath = new DOMXpath($dom);
$data = $xpath->query('//input[@id="__VIEWSTATE"]');
$node = $data->item(0);
echo $node->getAttribute('value');
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

  Fatal error: Call to a member function getAttribute() on null 
Run Code Online (Sandbox Code Playgroud)

kev*_*v.g 5

尝试这个 :

$data->getAttribute('value'); 
Run Code Online (Sandbox Code Playgroud)

PHP:DomElement->getAttribute

$attrs = array();
 for ($i = 0; $i < $data->attributes->length; ++$i){
   $node = $data->attributes->item($i);
   $attrs[$node->nodeName] = $node->nodeValue;
 }
 var_dump($attrs);
Run Code Online (Sandbox Code Playgroud)