fetchSites(); foreach ($this->sites as $site) { $item = []; $item['title'] = $site['title']; $item['timestamp'] = $site['createdAt']; $item['categories'] = $site['tags']; $item['content'] = ''; $item['uri'] = self::SITEURI . $site['slug']; $this->items[] = $item; if (count($this->items) >= 10) { break; } } } public function getIcon() { return 'https://www.awwwards.com/favicon.ico'; } private function fetchSites() { $sites = getSimpleHTMLDOM(self::SITESURI); foreach ($sites->find('.grid-sites li') as $li) { $encodedJson = $li->attr['data-collectable-model-value'] ?? null; if (!$encodedJson) { continue; } $json = html_entity_decode($encodedJson, ENT_QUOTES, 'utf-8'); $site = Json::decode($json); $this->sites[] = $site; } } }