我有这个密码
需要一次'vendor/autoload.php';
使用symfony\component\domacrawler\crawler;
$html = <<<'HTML'
<!DOCTYPE html>
<html>
<body>
<p class="message">Hello World!
<span>This is span</span>
</p>
<p>Hello Crawler!
<span>This is span</span>
</p>
</body>
</html>
HTML;
$crawler = new Crawler($html);
foreach ($crawler->filter('body') as $domElement) {
$domElement->filter('span');
}
我发现了这个错误。
Fatal error: Call to undefined method DOMElement::filter()
我需要知道如何在foreach循环中使用
CSS Selectors
选择元素?我找了很多,但什么也没找到。
最佳答案
只需使用docs中的示例
$crawler = new Crawler($html);
$crawler->filter('body')->each(function(Crawler $node, $i){
return $node->filter('span');
});
或者做
->each(\Closure $closure)
函数在幕后所做的工作:在循环中实例化爬虫节点foreach ($crawler->filter('body') as $domElement) {
$domElement = new Crawler($domElement);
$domElement->filter('span');
}