[英]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');
$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>
更改为<html>
并且您的文档将不再是HTML,而只是包含<
的纯文本<
和>
,因此获取节点的方法将行不通。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.