如何使用Goutte同时筛选图片(img)和链接(a)标签?
解决Goutte同时筛选img和a标签的问题
问题出在filter()方法的使用逻辑上:Goutte的filter()仅接受单个CSS选择器字符串作为参数,你传入两个独立参数时,第二个参数会被直接忽略,因此只返回了img标签的结果。
要同时选中img和a标签,需遵循CSS选择器的多选语法,把两个选择器用逗号合并成一个字符串传入filter()即可。
修改后的代码示例:
use Goutte\Client; $client = new Client(); $url = 'https://edition.cnn.com/'; $page = $client->request('GET', $url); // 合并选择器,一次性筛选img和a标签 $page->filter('img, a')->each(function ($item) use ($url) { dump($item->getNode(0)); });
执行这段代码后,就能遍历并输出页面中所有的img和a标签节点了。
内容的提问来源于stack exchange,提问作者Nabil Farhan
相关产品推荐
相关产品推荐

