这是 html 片段,我想从中提取所有带逗号的链接元素,但不是跨度类 tl 中的跨度元素
<span class="tl"><a href="/en/laravel/" class="c">laravel</a>, <span>goutte</span>, <a href="/en/php/">php</a>, <span>dom crawler</span>, <span>guzzle</span>, <span>web scrapper</span> </span>
我试着这样做
$links['tag'] = $crawler->filter('span.tl >:not(span)')->each(function ($node) {
return $node->text();
});
但它不起作用。谁能帮我提取代码?
在我得到的 $links 的 var_dump 上
array (size=1)
'tag' => array (size=2)
0 => string 'laravel' (length=7)
1 => string 'php' (length=3)
我期待这样的事情
array (size=1)
'tag' => array (size=1)
0 => string 'laravel, php' (length=12)
其中 ',' 也作为 text() 方法出现,也应该返回它们。
仅供参考,如果我使用此代码
$links['tag'] = $crawler->filter('span.tl')->each(function ($node) {
return $node->text();
我得到这个输出
array (size=1)
'tag' => array (size=1)
0 => string 'laravel, goutte, php, dom crawler, guzzle, web scrapper' (length=55)
我只想选择所有带有链接的标签。