Die Wetterwarnungen des Deutschen Wetterdienstes lassen sich per PHP-Skript auslesen und auf der eigenen Seite darstellen. Besonders für Wetter- und Webcamseiten oder Internetseiten mit regionalem Bezug ein nützlicher Service für die Besucher.
Wichtig ist eine Genehmigung des Deutschen Wetterdienstes, welche mit einer freundlichen E-Mail in der Regel schnell erteilt wird.
Das Skript liest die DWD-Seite mit der Warnung aus und stellt diese angepasst an die eigene Seite dar.
Livedemo unter cam.pl24.de/warnung.php
Zunächst wird der Titel angezeigt bzw. eine Meldung, wenn keine Warnung vorhanden ist. Der Link und der Ort müssen angepasst werden. Falls Probleme mit der Darstellung von Umlauten auftreten, werde diese entsprechend ersetzt.
<?php
$lines = file ("http://www.wettergefahren.de/dyn/app/ws/html/reports/BTX_warning_de.html");
for ($i = 20; $i <= 21; $i++) {
$warnung1 = strip_tags($lines[$i],"<br>");
$warnung1 = str_replace("ü", "ü", "$warnung1");
$warnung1 = str_replace("ä", "ä", "$warnung1");
$warnung1 = str_replace("Ö", "Ö", "$warnung1");
$warnung1 = str_replace("ö", "ö", "$warnung1");
$warnung1 = str_replace("Ä", "Ä", "$warnung1");
$warnung1 = str_replace("vorhanden:", "vorhanden:<br><br>", "$warnung1");
$warnung1 = str_replace("Warnungen - Bayreuth", "Zur Zeit sind keine Warnungen für Bayreuth vorhanden.", "$warnung1");
echo $warnung1."";
}
?>
Dann werden (falls vorhanden) die eigentlichen Wetterwarnungen angezeigt. Auch hier muss wieder der Link und weitere Ausdrücke, zu denen ein Absatz oder eine Formatierung hinzugefügt werden soll, angepasst werden:
<?php
$lines = file ("http://www.wettergefahren.de/dyn/app/ws/html/reports/BTX_warning_de.html");
for ($i = 38; $i <= 190; $i++) {
$warnung = strip_tags($lines[$i],"<a>");
$warnung = str_replace("ü", "ü", "$warnung");
$warnung = str_replace("Ü", "Ü", "$warnung");
$warnung = str_replace("ä", "ä", "$warnung");
$warnung = str_replace("Ä", "Ä", "$warnung");
$warnung = str_replace("Ö", "Ö", "$warnung");
$warnung = str_replace("ö", "ö", "$warnung");
$warnung = str_replace("ß", "ß", "$warnung");
$warnung = str_replace("Â", "", "$warnung");
$warnung = str_replace("Amtliche", "<b>Amtliche", "$warnung");
$warnung = str_replace("für", "</b><br>für", "$warnung");
$warnung = str_replace("gültig", "<br><br>gültig", "$warnung");
$warnung = str_replace("Uhr", "Uhr<br><br>", "$warnung");
$warnung = str_replace("für Landkreis", "<br>für Landkreis", "$warnung");
$warnung = str_replace("DWD", "<br><br>DWD", "$warnung");
$warnung = str_replace("München", "München<br><br><br>", "$warnung");
$warnung = str_replace("<div>", "", "$warnung");
$warnung = str_replace("<a name=\"WS_ANCHOR_4\"></a><a name=\"WS_ANCHOR_0\"></a>", "", "$warnung");
$warnung = str_replace("<div class=\"app_ws_create_date\">", "", "$warnung");
$warnung = str_replace("<hr />", "", "$warnung");
echo $warnung."";
}
?>

Um zusätzlich einen Warnhinweis anzuzeigen (z.B. auf der Startseite oder im Navigationsmenü), wenn eine Wetterwarnung vorhanden ist, kann man folgenden Code verwenden. Wenn keine Warnung vorliegt, erscheint kein Text. Anpassungen sind beispielsweise mittels CSS möglich. Bei mehreren Warnungen wird zur Zeit nur die erste Meldung angezeigt.
<?php
$lines = file ("http://www.wettergefahren.de/dyn/app/ws/html/reports/BTX_warning_de.html");
for ($i = 38; $i <= 39; $i++) {
$warnung = strip_tags($lines[$i],"<a>");
$warnung = str_replace("Amtliche ", "", "$warnung");
$warnung = str_replace("ü", "ü", "$warnung");
$warnung = str_replace("ä", "ä", "$warnung");
$warnung = str_replace("ä", "ä", "$warnung");
$warnung = str_replace("Ö", "Ö", "$warnung");
$warnung = str_replace("Ä", "Ä", "$warnung");
echo $warnung."";
}
?>
Sicherlich ist das Ganze nicht optimal gelöst, Anregungen und Verbesserungsvorschläge sind daher willkommen.
Eine Demo des Skripts findet sich unter cam.pl24.de/warnung.php. Bei Verwendung des Codes freue ich mich über einen Link auf diese Seite.
Alle Angaben ohne Gewähr. Verwendung auf eigene Gefahr.
