我提到了question
但是,我想迭代并获取html标签之间的所有元素
这就是我做的
$homepage = file_get_contents('http://www.example.com');
将打印以下内容
<html>
<body>
<div class = "alpha">hey</div>
<div class = "beta">one</div>
<div class = "beta">two</div>
</body>
</html>
这里我需要获得类beta的所有元素。
我该怎么做?
这是我到目前为止尝试的代码
$dom = new DOMDocument();
$dom->loadHTML($homepage);
foreach($dom->getAllElements as $element ){
if(!$element->hasClass('beta')){
echo $element;
}
}
但它说DOMDocument::loadHTML(): Tag nav invalid in Entity,
答案 0 :(得分:4)
试试这个
<?php
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML("<html>
<body>
<div class = 'alpha'>hey</div>
<div class = 'beta'>one</div>
<div class = 'beta'>two</div>
</body>
</html>");
libxml_clear_errors();
$classname="beta";
$finder = new DomXPath($dom);
$spaner = $finder->query("//*[contains(@class, '$classname')]");
foreach($spaner as $element ){
print_r($element);
}
?>