RSS-Feeds von EUR-Lex auslesen

Wer sich als Nutzer auf EUR-Lex registrieren lässt, kann die Ergebnisse von Recherchen als RSS-Feed speichern. Diese Feeds können mit Feedreadern abonniert  werden. Sie können aber auch als Grundlage für ein eigenständiges Informationsangebot, beispielsweise einen Profildienst, genutzt werden.

Wie der Feed mit PHP ausgelesen und als HTML-Seite ausgegeben werden kann, zeigt das folgende Skript.

<!doctype html>

<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>EUR-Lex RSS</title>

<style type='text/css'>

body {
margin-left: 15%;
margin-right: 25%;
font-family: Sans-Serif, Arial;
color:#494949;
font-size: 12px;
}

ol {
margin-left: 4px;
margin-top: 1px;
margin-bottom: 1px;
} 

li {
margin-top: 2px;
margin-bottom: 13px;
border-bottom: 1px dotted #222222;
padding: 19px;
font-size: 12px;
}

a:link.bib {
color:#494949;
text-decoration:none;
font-family: Sans-Serif, Arial;
}

a:visited.bib {
color:#494949;
text-decoration:none;
font-family: Sans-Serif, Arial;
}

a:hover.bib {
color:#FF0000;
text-decoration:none;
font-family: Sans-Serif, Arial;
}
</style>
</head>

<body>

<?php 

// Hier werden die URLs der RSS-Feeds eingetragen

// Agrarförderung
$url0='http://eur-lex.europa.eu/DE/display-feed.rss?myRssId=6hIgTUOAZNsAZUDkeYrwkw%3D%3D';

// Tierschutz
$url1='http://eur-lex.europa.eu/DE/display-feed.rss?myRssId=6hIgTUOAZNvLFxv%2Bo0iRQg%3D%3D';

if($_GET["url"] == "url0") {
    $url = $url0;
    $headline = "<h1>Agrarförderung</h1>";
    }

if($_GET["url"] == "url1") {
   $url = $url1;
   $headline = "<h1>Tierschutz</h1>";
   }

$feed_content = file_get_contents($url);

echo $headline. 'Diese Anfrage abonnieren: '. '<a href="'. $url. '" target="_blank">'. 'RSS-Feed</a>';

// XML DOM-Parser
$dom = new DOMDocument();
$dom->loadXML($feed_content);

echo "<ol>";

// Finde Datensätze
$items = $dom -> getElementsByTagName('item'); 

$i=0;

foreach ($items as $item) {

// Anzahl der Einträge begrenzen
	if ($i >= 10) {
        break;
        }

// Titel ausgeben, CELEX-Nummer fett
$titles = $item -> getElementsByTagName('title');
	foreach ($titles as $title){
   	$title = $title -> nodeValue;
   	$title = preg_replace ('/^(CELEX.{12})/', '<b><font color="#333333">$1</font></b>',  $title);
   	}

// Link auf die deutschsprachige Fassung ausgeben
$links = $item -> getElementsByTagName('link');
	foreach ($links as $link){
   	$link = $link -> nodeValue;
   	$link = preg_replace ('/AUTO/', 'DE/TXT',  $link);
  	}

$authors = $item -> getElementsByTagName('author');
	foreach ($authors as $author){
     	$author = $author -> nodeValue;
     	}

// Datum wird umgewandelt
$pubdates = $item -> getElementsByTagName('pubDate');
	foreach ($pubdates as $pubdate){
     	$pubdate = $pubdate -> nodeValue;
     	$pubdate = strtotime($pubdate);
     	$pubdate = date("d.m.Y", $pubdate);
  	}

// Ausgabe
echo '<li><a class='. '"bib"'. 'target="_blank"'. 'href="'. $link. '">'. $title. '</a>'. '<br /><br />Veröffentlicht am:<b> '. $pubdate. '</b>; &nbsp;Urheber: '. $author. '</li>';
 $i++;
}
echo "</ol></body></html>";
?>

LexAlert

Amtsblatt der Europäischen Union

LexAlert ist ein  Benachrichtigungsdienst, der automatisch per E-Mail oder RSS-Feed  über neue, auf EUR-Lex verfügbare Dokumente informiert. Der Nutzer kann entweder aus vordefinierten Benachrichtigungen wählen oder eigene Suchanfragen erstellen. Neben Suchwörtern können die Art des Rechtsaktes, die Systemstelle im Fundstellennachweis, die Namen einzelner EU-Institutionen sowie Kapitel der Rechtsprechung für die Formulierung der Suchanfrage verwendet werden. Wie man sich anmelden kann, wird im EUR-Lex – Newsletter vom 18.04.2011 beschrieben. http://eur-lex.europa.eu/de/newsletter/newsletter_20110418.htm