[ 'url' => [ 'name' => 'URL de la série', 'type' => 'text', 'required' => true, 'title' => 'URL d\'une série sans le https://www.free-telecharger.live/', 'pattern' => 'series.*\.html', 'exampleValue' => 'series-vf-hd/145458-the-last-of-us-saison-1-web-dl-720p.html' ], ] ]; const CACHE_TIMEOUT = 3600; public function collectData() { $html = getSimpleHTMLDOM(self::URI . $this->getInput('url')); // Find all block content of the page $blocks = $html->find('div[class=block1]'); // Global Infos block $infosBlock = $blocks[0]; // Links block $linksBlock = $blocks[2]; // Extract Global Show infos $this->showTitle = trim($infosBlock->find('div[class=titre1]', 0)->find('font', 0)->plaintext); $this->showTechDetails = trim($infosBlock->find('div[align=center]', 0)->find('b', 0)->plaintext); // Get Episodes names and links $episodes = $linksBlock->find('div[id=link]', 0)->find('font[color=#ff6600]'); $links = $linksBlock->find('div[id=link]', 0)->find('a'); foreach ($episodes as $index => $episode) { $item = []; // Create an empty item $item['title'] = $this->showTitle . ' ' . $this->showTechDetails . ' - ' . ltrim(trim($episode->plaintext), '-'); $item['uri'] = $links[$index]->href; $item['content'] = '' . $item['title'] . ''; $item['uid'] = hash('md5', $item['uri']); $this->items[] = $item; // Add this item to the list } } public function getName() { switch ($this->queriedContext) { case 'Suivi de publication de série': return $this->showTitle . ' ' . $this->showTechDetails . ' - ' . self::NAME; break; default: return self::NAME; } } public function getURI() { switch ($this->queriedContext) { case 'Suivi de publication de série': return self::URI . $this->getInput('url'); break; default: return self::URI; } } public function detectParameters($url) { // Example: https://www.free-telecharger.live/series-vf-hd/145458-the-last-of-us-saison-1-web-dl-720p.html $params = []; $regex = '/^https:\/\/www.*\.free-telecharger\.live\/(series.*\.html)/'; if (preg_match($regex, $url, $matches) > 0) { $params['url'] = urldecode($matches[1]); return $params; } return null; } }