Hello,
ich möchte die aktuellen nachrichten aus feuerfehr-seite auslsesen und die als newsfeed bei unseren ausgeben.
<?php
$fd = fopen ("http://www.feuerwehr-xxx.de/home", "r");
while (!feof($fd)) {
$buffer = fgets($fd, 4096);
$ausgabe = strip_tags ( $buffer, "<tbody><p><script><table><tr><td><strong>" );
echo $ausgabe;
}
fclose ($fd);
?>
>
> Es soll erst ab 7 table-tag auslesen.
> Hat jemand idee wie ich vorgehen soll.
1\. Versichere dich, dass Du die rechte für diese Form der Nutzung hast/bekommst.
2\. Lies das ganze Dokument in eine Textvariable ein
3\. Stelle die Codierung der Seite fest und berücksichrtige sie
4\. Parse das Dokument, z.B. mittles preg\_match\_all()
<http://de3.php.net/manual/en/function.preg-match-all.php>
Wenn Du mit fopen("http:// ...") und einer Schleife arbeitest, benutze sicherheitshalber fread() und eine Leselänge von z.B. 128 Bytes. Der Versuch, aus dem Wrapper (http) ganze Zeilen auszulesen, führt regelmäßig zu Störungen. Setze Dir außerdem die Timeouts für fopen() und fread() vernünftig.
<http://de3.php.net/manual/en/filesystem.configuration.php#ini.default-socket-timeout>
wird benutzt von <http://de3.php.net/manual/en/function.fsockopen.php>
<http://de3.php.net/manual/en/function.stream-set-timeout.php>
wird benutzt von <http://de3.php.net/manual/en/function.fread.php>
Alternativ kannst Du die gesamte Seite mit file\_get\_contents() einlesen, aber auch da die Timeouts nicht vergessen, wenn due ein "Stehenbleiben" des Scriptes verhindern willst.
Allerdings würde ich auch Caching einführen, damit nicht bei jedem Zugriff auf Deine Seite die gegrabbte Seite ausgewertet werden muss, sondern nur dann, wenn sie sich geändert hat.
Strip\_Tags() arbeitet unzuverlässig. Außerdem ist es ja unsinnig, die Tags zu entfernen, die Du anschließend auswerten/zählen willst.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>