Php DOMDocument getElementsByTagName不工作
我试图使用DOMDocument函数getElementsByTagName,但它始终返回一个空对象。我正在使用以下代码:Php DOMDocument getElementsByTagName不工作,php,xml-parsing,domdocument,Php,Xml Parsing,Domdocument,我试图使用DOMDocument函数getElementsByTagName,但它始终返回一个空对象。我正在使用以下代码: // Create some HTML $output = ' <html> <body> <a href="foo">Bar</a> </body> </html>'; // Load the HTML $dom = new DOMDocument; $dom->loa
// Create some HTML
$output = '
<html>
<body>
<a href="foo">Bar</a>
</body>
</html>';
// Load the HTML
$dom = new DOMDocument;
$dom->loadHTML($output);
// Find all links (a tags)
$links = $dom->getElementsByTagName('a');
var_dump($links); // object(DOMNodeList)#31 (0) { } - empty object
我错过了什么?查看文档,我似乎正确使用了该函数。不确定您希望从var_转储中得到什么,但您可以看到该元素包含在该节点列表中:
var_dump($links->item(0));
//object(DOMElement)#3 (0) {}
var_dump($links->item(0)->getAttribute("href"));
//string(3) "foo"
不确定您希望从var_转储中得到什么,但您可以看到该元素包含在该节点列表中:
var_dump($links->item(0));
//object(DOMElement)#3 (0) {}
var_dump($links->item(0)->getAttribute("href"));
//string(3) "foo"
var_dump只是说您有一个DOMNodeList对象。遍历列表,您将看到它就在那里:
foreach( $links as $a) {
echo $a->nodeName . ' ' . $a->nodeValue;
}
这将产生:
a Bar
因为它是一个标记,并且它的内容是Bar。var_dump只是说您有一个DOMNodeList对象。遍历列表,您将看到它就在那里:
foreach( $links as $a) {
echo $a->nodeName . ' ' . $a->nodeValue;
}
这将产生:
a Bar
因为它是一个标记,其内容是Bar。$dom实际上是您的HTML文档吗?您确定“错误”发生在getElementsByTagName,而不是之前?$dom实际上是您的HTML文档?您确定“错误”发生在getElementsByTagName而不是之前?