【发布时间】:2011-07-18 14:06:36
【问题描述】:
我在这里或谷歌上找不到与解析隐藏的输入值相关的任何内容。例如这里的这段代码。我正在尝试解析 40 个字符的密钥。
<input type="hidden" name="key" value="c126b4f134cb2c1184c1585fdfa4d1b0013a12f4">
我试过了,但它永远不会返回任何隐藏的值。
libxml_use_internal_errors(TRUE);
$dom = new DOMDocument;
$dom->loadHTMLFile('http://www6.cbox.ws/box/?boxid=524970&boxtag=7xpsk7&sec=form');
libxml_clear_errors();
$xp = new DOMXpath($dom);
$nodes = $xp->query('//input/@value');
foreach($nodes as $node)
{
echo( $node->textContent . "<br><br>" );
}
var_dump($node);
更新代码
libxml_use_internal_errors(TRUE);
$dom = new DOMDocument;
$dom->loadHTMLFile('http://www6.cbox.ws/box/?boxid=524970&boxtag=7xpsk7&sec=form');
libxml_clear_errors();
$xp = new DOMXpath($dom);
$nodes = $xp->query('//input[type="hidden"]');
$val = $nodes->getAttribute('value');
var_dump($val);
返回此错误引用行“$val = $nodes->getAttribute('value');”
Fatal error: Call to undefined method DOMNodeList::getAttribute()
【问题讨论】:
-
XPath 返回一个 NODEList 作为其结果,而不是一个节点。请改用
$nodes[0]->getAttribute()。