php curl DOMDocument пересекает несколько массивов

#php #arrays #curl #xpath #domdocument

#php #массивы #curl #xpath #domdocument

Вопрос:

у меня небольшая проблема со следующей функцией DOM Я хочу сохранить данные в одном массиве, но в результате я получаю отдельные данные в отдельных массивах. Как я могу объединить все данные в один массив?

В переменной $html находится содержимое html из site.html взято с помощью curl.

site.html

  <div class="wraper">
   <div class="box"> Title </div>
   <div class="value"> 1 </div>
   <div class="value"> 2 </div>
   <div class="value"> 3 </div>
   <div class="box"> Title2 </div>
   <div class="value"> 4 </div>
   <div class="value"> 5 </div>
   <div class="value"> 6 </div>
</div>
  

это мой код

 $dom = new DOMDocument();    
@$dom->loadHTML($html);

$dom->preserveWhiteSpace = false;

$xpath = new DOMXpath($dom);

$expression = '//*[(self::div or self::span) and contains(concat(" ", normalize-           space(@class), " "), "wraper")]';

foreach ($xpath->evaluate($expression) as $node) {
  if ($node->hasChildNodes()) {
    foreach ($node->childNodes as $node2) {
      echo $node2->nodeValue;
    }
  }
}
  

Я получил каждое значение узла как новый массив [0] и там как первый элемент, из-за цикла foreach.

Я хочу получить значения следующим образом.

 array (

     "0"  =>    array([0] => "Title "
                      [1] => 1
                      [2] => 2
                      [3] => 3), 

     "1"   =>   array([0] => "Title2 "
                      [1] => 4
                      [2] => 5
                      [3] => 6) 
   )
  

Спасибо

Комментарии:

1. Этот код не создает массивы, он просто выводит как echo $node2->nodeValue; . Пожалуйста, опубликуйте код, который вы создаете или добавляете к своему массиву, чтобы мы могли помочь исправить проблемы там.

2. есть код $v = $node2->nodeValue; global $arr; array_push($arr, $v); , но как я могу различать 2 «коробочных» раздела как отдельные элементы. Я хочу сохранить 4 значения в одной строке в базе данных для exp. в MySQL