phase: webseite auslesen und zerlegen...

hi, ich moechte gern eine webseite, die mir ueber ein partnerprogramm zur verfuegung gestellt wird auslesen und teilweise in meine seite integrieren.

am liebsten waere es mir wenn ich jede einzelne tabelle zur verfuegung haette. folgendes habe ich erfolglos probiert:

schnipp

function show_content()
{
$data = implode("", file("http://www.websitezumauslesen.de/index.html"));

preg_match_all("=<table[^>]*>(.*)</table>=siU", $data, $match);

echo "$match[0][1]";

}

show_content();

schnapp

ich wollte damit alle tabellen bzw. alles was zwischen den table-tags steht auslesen und in einem array speichern. haut natuerlich nicht hin...

hat jemand nen loesungsvorschlag?

danke
phase

  1. hallo,

    Ich verwende eine vergleichbare Konstruktion, allerdings gibt es einen _winzigen_ Unterschied:

    $data = implode("", file("http://www.websitezumauslesen.de/index.html"));

    Wenn du hier
      ... implode('', file ...
    schreibst, bekommst du zumindest erstmal die angegebene Datei eingelesen und kannst sie weiterbearbeiten. Siehe auch der allererste Kommentar in http://de2.php.net/manual/de/function.implode.php.

    preg_match_all("=<table[^>]*>(.*)</table>=siU", $data, $match);
    echo "$match[0][1]";

    Ob das so funktioniert, habe ich jetzt nicht durchprobiert.

    Grüße aus Berlin

    Christoph S.

    1. hallo Christoph

      also ich schiebe es dann mal wie alle hier auf die hitze aber ich ahb nicht ganz begriffen was du mir damit sagen wolltest!

      welchen _winzigen_ unterschied gibt es denn in deiner konstruktion??

      gruesse aus hamburg!
      phase

      1. hi,

        welchen _winzigen_ unterschied gibt es denn in deiner konstruktion?

        Einfache Anführungszeichen anstelle der doppelten.

        Grüße aus Berlin

        Christoph S.

        1. axo,
          na jetzt hab ichs auch ichs auch gesehen - macht aber keinen unteschied.
          hast du einen tipp zur weiteren verarbeitung bzw. zerlegen und ausgeben der seite??

          danke
          phase

          1. hi,

            na jetzt hab ichs auch ichs auch gesehen - macht aber keinen unteschied.
            hast du einen tipp zur weiteren verarbeitung bzw. zerlegen und ausgeben der seite??

            Naja, dann "hängt" es wohl bei deinen Regulären Ausdrücken, aber das hab ich noch nicht durchgespielt.

            Grüße aus Berlin

            Christoph S.

            1. ...also ich bekomme es einfach nicht hin. wie muss der regex denn aussehen damit ich alles zwischen den table-tags im array habe?

              waere fuer jede hilfe dankbar!
              phase

              1. Hi,

                ich habe da das gleiche Problem. http://forum.de.selfhtml.org/?t=54892&m=305587 und die Wissenden scheinen alle im Urlaub zu sein. Die RegExp's sind wirklich nicht leicht zu durchschauen und ein richtig gutes Tut habe ich auch noch nicht entdecken können.

                Grüße

                Tom

  2. Hi,

    ich habe das gleiche Problem und vermute, dass es an den Newlines liegt. Aber ich habe es auch noch nicht herausgefunden.

    Tom

    preg_match_all("=<table[^>]*>(.*)</table>=siU", $data, $match);

    preg_match_all("=<table[^>]*>\s*(.*\s*)\s*</table>=siU", $data, $match);

    Das war meine Idee, klappt aber auch nicht.

    echo "$match[0][1]";