簡體   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