externe html-seite in file schreiben |
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Hi,
ich habe folgendes Problem, ich muß eine externe html-seite (via ASP erzeugt)
in ein File wegschreiben, um sie dann zu parsen und die benötigten Daten zu
extrahieren. Kann mir bitte jemand einen Tipp geben, wie ich das lösen kann.
Vielen Dank für Eure Hilfe
---
Alle Tage sind gleich lang, aber unterschiedlich breit
|
 Profil
E-Mail
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Du kannst (sofern der Server das erlaubt) externe Dateien genauso kopieren und öffnen wie lokale.
Du kannst sie z.B. direkt in ein Array einlesen: $lines=file("http://blabber.de/blu.asp");
Can
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Danke Can,
Ich habe folgendes probiert:
und bekomme nur als Ausgabe nur: Array
Habe ich einen Fehlergemacht, oder lässt der Server das Auslesen nicht zu.
gruss
guessme
---
Alle Tage sind gleich lang, aber unterschiedlich breit
Diese Nachricht wurde geändert von: languitar |
 Profil
E-Mail
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Habe die letzten Parameter weggelassen und bekomme folgende Meldung:
HTTP Fehler 403
403.1 Verboten: Ausführungszugriff verboten
Dieser Fehler kann verursacht werden, wenn Sie versuchen, ein CGI-, ISAPI- oder anderes ausführbares Programm von einem Verzeichnis aus auszuführen, das die Ausführung von Programmen nicht erlaubt.
Setzen Sie sich bitte mit der Verwaltung des Webservers in Verbindung, wenn das Problem fortbesteht.
Das ist wohl das Aus für diesen Weg?
Gibt es noch einen Anderen?
gruss
guessme
---
Alle Tage sind gleich lang, aber unterschiedlich breit
|
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
wahrschenlich hast du "echo $lines" als befehl zur Ausgabe benutzt und da kann nur "Array" bei rauskommen, weil du die Datei Zeilenweise in ein Array eingelesen hast.
was du machen könntest is "print_r ($lines);".
|
 Profil
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
@languitar
Super, das war´s vielen Dank.
Eine Frage hätte ich noch: Wie kann ich das Array in ein File zurückschreiben und muss das per FTP geschehen?
Danke
guessme
---
Alle Tage sind gleich lang, aber unterschiedlich breit
|
 Profil
E-Mail
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Habe mir folgendes geschrieben und siehe da es funzt:
Eine Frage aber trotzdem noch:
Wie kann ich alle hyperlinks aus dem File entfernen? die anderen Tags sollten erhalten bleiben.
Danke
---
Alle Tage sind gleich lang, aber unterschiedlich breit
Diese Nachricht wurde geändert von: languitar |
 Profil
E-Mail
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Also erstmal geht diese schleife mit foreach noch wesentlich einfacher. Schlag das einfach mal in der PHP-Dokumentation nach. Das andere geht mir eregi_replace.
|
 Profil
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Ich komme mit der Syntax von von ereg_replace() bei diesem komplexen Ausdruck wohl nicht zurecht.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10: | ", $Ersatz, $lines[$i]);
fputs($file,$lines[$i]);
fclose($file);
?> |
erzeugt mir einen Parse Error
---
Alle Tage sind gleich lang, aber unterschiedlich breit
Diese Nachricht wurde geändert von: languitar |
 Profil
E-Mail
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Also in der "$ersatz=" - Zeile fehlt ein Semikolon am Schluss.
So muss es heißen - in nem String müssen Quotes (") mit \ davor entwertet werden.
Und noch was ganz Wichtiges: Du hast $ersatz und $Ersatz benutzt - das sind für PHP völlig andere Variablen!!! Du musst also unbedingt auf die Groß-/Kleinschreibung achten.
Can
---
" S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Danke, habs geändert. Script läuft ohne fehler durch, erzeugt aber 0 byte file.
Stimmt da was mit meinem Schleifenkonstrukt nicht ?
guessme
---
Alle Tage sind gleich lang, aber unterschiedlich breit
|
 Profil
E-Mail
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Ja! Alles, was in der Schleife steht, muss zwischen { und } stehen.
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
guessme
Feiertags-Poster Threadstarter
Beiträge: 26 |
Vielen Dank an Can, Du hast mir sehr geholfen
(und ich habe gemerkt, daß meine Doku nichts taugt.)
Viele Grüße
guessme
---
Alle Tage sind gleich lang, aber unterschiedlich breit
|
 Profil
E-Mail
Editieren
Zitieren
|