RSS if (!preg_match('/^(C|F|T)-[0-9]{0,3}\/[0-9]{2}$/', $_GET["num"])) { echo 'Bad param'; die(); } header('content-type: application/rss+xml; charset=utf-8'); // Contournement protection anti-robots basique $opts = [ 'http' => [ 'header' => "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0\r\n" . "Upgrade-Insecure-Requests: 1" . "Cookie: foo=bar", ] ]; $context = stream_context_create($opts); $response = file_get_contents('https://juris.curia.europa.eu/juris/documents.jsf?num='.urlencode($_GET["num"]).'&language=fr', false, $context); $response = mb_convert_encoding($response, 'HTML-ENTITIES', "UTF-8"); $dom = new DOMDocument(); libxml_use_internal_errors(true); $dom->loadHTML($response); $xpath = new DOMXpath($dom); $nom = $xpath->query('//td[@class="table_cell_doc"]'); $url = $xpath->query('//td[@class="table_cell_links_eurlex"]//a[text()="français"]'); echo ' CJUE - '.$_GET["num"].' https://juris.curia.europa.eu CJUE - '.$_GET["num"].''.PHP_EOL.PHP_EOL; $i = 0; foreach ($url as $item) { preg_match('/(?<=docid=)[0-9]+/', $item->getAttribute("href"), $matches); $nomDoc = trim($nom[$i]->nodeValue); echo ' <![CDATA['.$nomDoc.']]> getAttribute("href")).']]> '.$matches[0].' '.PHP_EOL; $i = $i + 2; } echo ' '; ?>