Katrin: Webseite auslesen?

Beitrag lesen

Hello,

Ich benötige nur die Information aus z.B. "97" aus folgendem Ausdruck <!-- X-KV-ZAHL   97 --> und "minus" aus <!-- X-KV-TREND minus -->. Diese Daten zeigen die Parkplatzbelegung eines bestimmten Parkplatzes, noch 97 Plätze frei, Tendenz sinkend. Diese Daten möchte ich nun in meiner Webseite anzeigen.

Ok, noch eine Runde:

Welches sind denn die verbindlichen Texte, die davor stehen könnten?

Beispiele:

<!-- X-KV-TREND
<!--X-KV-TREND
<!--XKVTREND

<!-- X-KV-ZAHL
<!--X-KV-ZAHL
<!--XKVZAHL

Abschließen werden diese Muster vermutungshalber immer mit  "-->" ?

Also musst Du ein Muster suchen, dass den o.a. entspricht, den Wert danach auslesen, wenn er nicht "-->" lautet. Das wäre das Ende des Musters.

In regulären Ausdrücken übe ich mich auch immer noch, aber ich denke, das sollte man dann hinbekommen. Du müsstest noch spezifizieren, wie oft so ein Muster in einer Webseite vorkommen darf.

  • öfter, du brauchst alle Vorkommen
  • einmal, du braucht es einfach
  • ?, Du brauchst das letzte Vorkommen

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

Hallo,

die verbindlichen Muster aus denen die Daten ausgelesenwerden sollen:

<!-- X-KV-TREND gleich -->
<!-- X-KV-ZAHL 34 -->
<!-- X-KV-NAME Neumarkt -->

Aus diesem Muster sollen in diesem Beispiel die Daten "gleich", "34" und "Neumarkt" herausgelesen werden. Diese Zahlen besagen, dass am neumarkt noch 34 Parkplätze zur Verfügung stehen, bei gleichbleibender Belegungstendenz.

Dieses Muster wird in derart für insgesamt 33 Parkplätze verwendet.
Für den Parkplatz am Rudolfplatz sähe das Muster dann so aus:

<!-- X-KV-TREND minus -->
<!-- X-KV-ZAHL 65 -->
<!-- X-KV-NAME Rudolfplatz -->

Ich hab hier mal ein Beispiel Script für das auslesen einer Webseite kopiert und schon mal versucht auf meinen Sachverhalt anzuwenden, wobei es sich um ein script handelt das nur ein startstringtyp ausliest, wie wäre das Script zu erweitern, das es für die oben gezeigte drei Muster ausliest?

// URL, die durchsucht werden soll
$url = "http://www.........";

// Zeichenfolge vor relevanten Einträgen
$startstring = "<!-- X-KV-TREND";

// bis zum nächsten html tag bzw. Zeichenfolge nach relevanten Einträgen
$endstring = " -->";

$file = @fopen ($url,"r");

if (trim($file) == "") {
 echo "Service out of order";
 } else {
 $i=0;
 while (!feof($file)) {

// Wenn das File entsprechend groß ist, kann es unter Umständen  // notwendig sein, die Zahl 2000 entsprechend zu erhöhen. Im Falle
  // eines Buffer-Overflows gibt PHP eine entsprechende Fehlermeldung aus.

$zeile[$i] = fgets($file,2000);
  $i++;
 }
 fclose($file);
}

// Nun werden die Daten entsprechend gefiltert.

for ($j=0;$j<$i;$j++) {
 if ($resa = strstr($zeile[$j],$startstring)) {
  $resb = str_replace($startstring, "", $resa);
  $endstueck = strstr($resb, $endstring);
  $resultat .= str_replace($endstueck,"",$resb);
  $resultat .= "; ";
 }
}

// Ausgabe der Daten

$resultat = "Parkplatz 1 ".$resultat." Tendenz.....";
return $resultat;