• Как правильно сделать функцию .nextUntil из JQuery в PHPQuery?

    @Sp1keazyYT Автор вопроса
    Выкладываю неплохое решение:
    $url = 'https://www.xcom-shop.ru/hp_proone_440_g4_645770.html';
    
    $html = file_get_contents($url, false, stream_context_create([
        'ssl' => [
            'verify_peer' => false,
            'verify_peer_name' => false,
        ],
    ]));
    
    preg_match('~<div id="card_prop">.*<div class="prop\-column right"></div>~is', $html, $preg);
    
    $exp = explode('<div class="short_desc prop-line delimiter">', $preg[0]);
    
    unset($exp[0]);
    
    $result = [];
    
    foreach ($exp as $item)
    {
        preg_match('~<h3>([^<]+)</h3>~i', $item, $title);
        
        preg_match_all('~<div class="call">([^<]+)</div>\s*?<div class="prop-value">(.+)</div>~isU', $item, $rows, PREG_SET_ORDER);
        
        foreach ($rows as $row)
        {
            $result[ trim($title[1]) ][ trim($row[1]) ] = trim($row[2]);
        }
    }
    
    echo '<pre>';
    print_r($result);
    Ответ написан
    Комментировать