Lobochkin
@Lobochkin
PHP Bitrix Vue Laravel

PHP simple HTML DOM не могу достать значение атрибута, не понимаю где ошибка?

Помогите вырвать значение атрибута
5c476cc2b419a432341536.jpeg
никак не получается
$urlYear = 'https://razmerkoles.ru/size/peugeot/308/2013/';
      // print(getCurlResult($urlYear));
      // $file = fopen("5.txt", "w");
      // fwrite($file, getCurlResult($urlYear));
      // fclose($file);
      $html3 = str_get_html(getCurlResult($urlYear));			
      $htmlArr3 = $html3->find('#vehicle-market-data .vehicle-market'); // массив внутренних рынков
      if(count($htmlArr3) != 1) {// проверка есть ли разделения на внутренние рынки
        foreach ($htmlArr3 as $key => $div) {
          // echo $div->outertext . "<br>";
          $market = $html3->find('#vehicle-market-data .vehicle-market h4', $key)->plaintext; // выводит название внутреннего рынка
          echo $market . "<br>" . $urlYear . "<br>";
          foreach ($div->find('.modification-item') as $modifications) { // проходит по модификациям модели на одном рынке
            // echo "<pre>";
            // var_dump($modifications);
            // echo "</pre>";
            
            foreach ($modifications->find('tbody tr') as $k => $size) {
              // print($size->outertext . "<br>");
              $b = $size->attr['data-rim'];
              //->attr['data-rim']
              echo "<pre>";
              var_dump($b);
              echo "</pre>";
              
              // $file = fopen($k . ".txt", "w");
              // fwrite($file, $size->outertext);
              // fclose($file);

              $zz++;
              if($zz > 3) {
              exit;
              }
            }


          }
          
        }
        
      } else { //если нет разделения на внутренние рынки

      }

      $html3->clear(); // подчищаем за собой
      unset($html3);
  • Вопрос задан
  • 219 просмотров
Решения вопроса 1
@glagolew059
frontend developer
Если не ошибаюсь, то этим вы перебираете все tr'ки, и у них пытаетесь атрибут взять
foreach ($modifications->find('tbody tr') as $k => $size) {
...
}


Вам нужно, наверное, что-то типо такого:
foreach ($modifications->find('tbody tr') as $k => $size) {
    $span = $size->find('.data-rim span')[0];
    print_r($span->attr['data-rim']);
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы