在Symfony 2 Crawler中,您可以使用以下方法安全地检查节点是否为空:
use Symfony\Component\DomCrawler\Crawler;
$html = '<div class="content">
<p>Hello, World!</p>
<p></p>
</div>';
$crawler = new Crawler($html);
// 获取所有的p标签
$pTags = $crawler->filter('p');
foreach ($pTags as $i => $pTag) {
$crawlerNode = new Crawler($pTag);
$text = $crawlerNode->text();
if (empty(trim($text))) {
echo "节点 {$i} 为空。\n";
} else {
echo "节点 {$i} 不为空。\n";
}
}
这个示例中,我们首先创建了一个包含HTML内容的Crawler对象。然后,我们使用filter()
方法获取所有的<p>
标签。接下来,我们遍历这些节点,并使用Crawler
对象的text()
方法获取节点的文本内容。最后,我们使用trim()
和empty()
函数检查文本内容是否为空。
这种方法可以确保您在检查节点是否为空时遵循最佳实践,并且不会受到不兼容或不正确的HTML结构的影响。
领取专属 10元无门槛券
手把手带您无忧上云