Symfony DomCrawler. Состояние фильтра

1

У меня есть этот скрипт в 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 */
}
Теги:
domcrawler

2 ответа

1
Лучший ответ

Функция фильтра использует стандартный селектор CSS, поэтому:

foreach ($crawler->filter('[rel="stylesheet"],[type="text/css"]') as $content) {
   /* make things */
}

должен выполнять эту работу.

0

AFAIK это невозможно, но вы можете сделать это:

$crawler->filter('[rel="stylesheet"]')->addAll($crawler->filter('[type="text/css"]'));

Это должно решить вашу проблему.

Кроме того, вы также можете фильтровать с помощью xpath.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню