webseite auslesen und zerlegen...
phase
- php
0 Christoph Schnauß0 phase
0 Tom
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:
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();
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
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.
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
hi,
welchen _winzigen_ unterschied gibt es denn in deiner konstruktion?
Einfache Anführungszeichen anstelle der doppelten.
Grüße aus Berlin
Christoph S.
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
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.
...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
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
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]";