[英]xpath with HTML5 and PHP
我在PHP中将XPath与HTML5结合使用时遇到问题。 我正在使用此代码,但不适用于HTML5元素,有人可以帮助我吗?
$dom = new DomDocument;
$dom->loadHTMLFile($url);
$xpath = new DomXPath($dom);
$main = $xpath->query("//object");
foreach ($main as $i => $a)
{
echo $a->nodeValue;
}
我要使用object元素,这是一个:
<object type="application/x-shockwave-flash" data="" width="700" height="400">
我可以完美地处理任何元素:
test.html
<html>
<body>
<object type="application/x-shockwave-flash" data="" width="700" height="400"></object>
</body>
</html>
test.php
$file = "test.html";
$dom = new DomDocument;
$dom->loadHTMLFile($file);
$xpath = new DomXPath($dom);
$elements = $xpath->query("/html/body/object");
if (!is_null($elements)) {
foreach ($elements as $element) {
print_r($element);
}
}
即使您省略了</object>
结束标记( 您也不应该这样做 )。
HTML5不必是格式正确的xml。
因此,您不能保证xpath将起作用。 要浏览DOM,您应该使用诸如getElementsByTagName()之类的dom方法,或者如果您有类似izzizz或jquery之类的方法,请使用选择器$(“ object”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.