繁体   English   中英

PHP DOMDocument:从id获取属性值

[英]PHP DOMDocument: Get attribute value from id

我想使用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;
?>

我想要属性“值”->“此”:

   <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'); 

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);

不要使用htmlentities因为它会将文档的HTML标记从<html>更改为&lt;html&gt; 并且您的文档将不再是HTML,而只是包含&lt;的纯文本&lt; &gt; ,因此获取节点的方法将行不通。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM