Symfony DomCrawler. Состояние фильтра
У меня есть этот скрипт в Symfony 2:
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\DomCrawler\Crawler;
class MyController extends Controller
{
....
foreach($crawler->filter('[type="text/css"]') as $content){
/* make things */
}
foreach($crawler->filter('[rel="stylesheet"]') as $content){
/* make things */
}
Можно $crawler->filter
принять различные условия и сделать это в одном foreach? Например:
foreach($crawler->filter('[rel="stylesheet"] OR [type="text/css"]') as $content){
/* make things */
}
2 ответа
Решение
Функция фильтра использует стандартный селектор CSS, поэтому:
foreach ($crawler->filter('[rel="stylesheet"],[type="text/css"]') as $content) {
/* make things */
}
Должен сделать работу.
AFAIK это невозможно, но вы можете сделать это:
$crawler->filter('[rel="stylesheet"]')->addAll($crawler->filter('[type="text/css"]'));
Это должно решить вашу проблему.
Кроме того, вы также можете фильтровать с помощью xpath.