get_text('http://hyperbook.ru/lib.php?sort=time'); try { $this->dom->loadStr($text, []); } catch (\Exception $e) { echo $e->getMessage(); echo $e->getTraceAsString(); return ""; } unset($text); $container = $this->dom->find('#listPubs'); $games = []; try { $headings = $container->find("h3"); } catch (\Exception $e ) { echo $e->getMessage(); echo $e->getTraceAsString(); return ""; } foreach ($headings as $heading) { $game = new Game; $link = $heading->find('a')[0]; $game->title = $link->innerHtml; $game->url = $link->getAttribute('href'); $game->url = str_replace('file', 'http://hyperbook.ru/comments.php?id=', $game->url); $games[] = $game; } $i = 0; foreach ($container->find("div") as $author) { if ($author->getAttribute('style') !== 'text-align:left;margin-bottom:4px;') { continue; } $games[$i]->author = $author->innerHtml; $i++; } $i = 0; foreach ($container->find("div.small") as $small) { if( $small->getAttribute('style') === 'float: left; width: 20%; text-align:right;' && is_null($games[$i]->date) ) { $games[$i]->date = $small->innerHtml; } elseif ($small->getAttribute('style') === NULL) { $games[$i]->description = $small->innerHtml; $i++; } } foreach ($games as $game) { $date = \DateTime::createFromFormat('d.m.y', $game->date); if ($date === false) continue; $date = $date->format('U'); if ($date < $this->period) continue; $this->output .= $game->print(); } } }