find('.vuln-table-row') as $element) { $item = []; $link = $element->find('.vuln-table-cell > a', 0); if (empty($link)) continue; $time = $element->find('span.vuln-table-cell',3)->find('relative-time',0); $summary = $element->find('.vuln-summary',0); $tags = $element->find('ul.tags > li',0); $item['uri'] = self::MAIN_DOMAIN . $link->href; $item['title'] = $link->innertext; $item['title'] .= sprintf(" - %s", trim($summary->innertext)); $item['timestamp'] = $time->datetime; $packages = ""; foreach ($element->find('ul.packages > li',0) as $pack) { $packages .= !empty($pack->innertext) ? "
  • $pack->innertext
  • " : ""; } $tagsout = ""; foreach ($element->find('ul.tags > li > span') as $tag) { $tagsout .= !empty($tag->innertext) ? "
  • {$tag->innertext}
  • " : ""; } $item['content'] = "{$link->innertext} - {$summary->innertext}
    Published: {$time->innertext}
    Packages:
    Tags: "; $item['uid'] = $link->innertext; $this->items[] = $item; } } public function collectData() { $html = getSimpleHTMLDOM($this->getURI()); $this->parseItems($html); usort($this->items, function($a, $b) { if ($a['timestamp'] == $b['timestamp']) { return 0; } return ($a['timestamp'] > $b['timestamp']) ? -1 : 1; }); } }