Symfony DomCrawler берет все элементы div в html-файле

Я хочу взять все элементы в html файле.

$crawler = new Crawler($html);
for($i = 0; $i < $crawler->filter("div")->count(); $i++){
     $div = $crawler->filter("div")->html();

Делая это, я всегда беру первый элемент div: как я могу взять все элементы div и добавить их в массив? Спасибо


person Isky    schedule 23.11.2015    source источник


Ответы (1)


Вот простой способ достичь цели:

$crawler = new Crawler($html);

$div = $crawler->filter('div')->each(function($node) {
    return $node->html();
});

// Array of result = $div 
// Number of result = sizeof($div)
person scoolnico    schedule 23.11.2015
comment
Хорошо, это работает, но исключает тег ‹div›. Мне нужно, чтобы он возвращал ‹div ec...› - person Isky; 24.11.2015
comment
ничего не вижу ;) - person scoolnico; 24.11.2015
comment
‹div data-provincia=mi data-nazione=it class=left w450 m20›‹span class=citta›Milano‹/span›‹/div› - person Isky; 24.11.2015
comment
Нет, мне нужно только попробовать информацию из этого с помощью регулярного выражения, и я хочу разделить все ‹div›, которые у меня есть, с помощью сканера. - person Isky; 24.11.2015
comment
поэтому используйте только: $data = $crawler->html(); - person scoolnico; 24.11.2015
comment
Но как я могу зациклить каждый div? - person Isky; 24.11.2015
comment
Это выглядит так: ‹html› ‹div data-provincia=mi data-nazione=it class=left w450 m20›‹span class=citta›Milano‹/span›‹/div› ‹div data-provincia=mi data-nazione =it class=left w450 m20›‹span class=citta›Milano‹/span›‹/div› ‹div data-provincia=mi data-nazione=it class=left w450 m20›‹span class=citta›Milano‹/ span›‹/div› ‹div data-provincia=mi data-nazione=it class=left w450 m20›‹span class=citta›Milano‹/span›‹/div› ‹/html› - person Isky; 24.11.2015
comment
Хорошо. Попробуйте исходное решение, которое я опубликовал, и измените это: $div = $crawler->filter('html')->each(function($node) { return $node->html(); }); - person scoolnico; 24.11.2015
comment
Это все в первом ключе массива - person Isky; 24.11.2015