HTML Seiten auslesen und in Datenbank schreiben

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

HTML Seiten auslesen und in Datenbank schreiben

Beitrag von mgutt »

Ich habe von damals noch eine ziemlich alte Seite.

Da habe ich ein Lexikon mit mehreren hundert Seiten und Begriffen... früher soll heißen COPY & PASTE.. Schande über mich ;)

Naja und jetzt die Frage, ob man gewisse Inhalte per php z.B. auslesen kann. Also Datei öffnen und dann z.b. ab TD-Tag 2 den Inhalt in Zelle xyz im mysql übertragen.

Wer kennt da vielleicht einen Codeschnipsel? Ich würde mir dann versuchen den zurecht zu meißeln.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

versuchs mal mit fopen, fget und Co.
Lässt alles auslesen bis auf irgendwelche HTML Tags (<td>,...)
bzw. irgnorieren das müsste so klappen
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

das mit fopen war mir klar. ich hätte gerne ein kleines fgets-Beispiel. wie man z.b. die TD's ignoriert und dann nur den Inhalt übrig hat.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Code: Alles auswählen

$datei = fopen();
$inhalt = fgets($datei);
$inhalt = str_replace("<td>", "", $inhalt);
...
So zum Beispiel, kann man das machen denke ich
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

aso str_replace hm.. jeden einzelnen tag.. dann suche ich mal nach einer str_auflistung.. irgendwer hat doch sicher mal so nen code geschrieben.

EDIT:

Ich glaube ich habe was gefunden:

Code: Alles auswählen

$datei = fopen("datei.htm","r");
   while($line=fgets($datei,1024)) {
 $text = $line;
 $aendern = preg_replace("/\<(.*?)\>/si", "", $text);
 echo "$aendern";
  }

Das sieht schon gut aus ;)


EDIT2:

Wie könnte man denn jetzt z.B. die Überschrift und den Text einzeln rausholen?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Beim Einlesen der Seite habe ich noch das Problem, dass ich vor dem Text viele "/n" Zeilensprünge habe.

Grundsätzlich könnte ich die mit "trim" entfernen, aber leider sind dann die wichtigen im Text selbst auch weg.

Wie kann ich alle "/n" vor dem ersten Wort entfernen, ohne die restlichen auch zu löschen?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Genau dafür ist trim() da. Es entfernt nur am Anfang und am Ende des Strings Whitespaces und andere Zeichen. Du kannst trim() aber auch mit den zu entfernenden Zeichen füttern.

Grüße
Dennis
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

das geht aber nicht. wenn ich trim anwende verschwinde auch alle anderen "/n". d.h. die überschrift und der text gehen plötzlich ineinander über.

EDIT:

Das Problem ist ja, das ich bei der Ausgabe jeder einzelnen Zeile die Werte ersetze. Soll heißen eine Zeile ist ja automatisch mit Anfang und Ende ausgestattet.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

http://de3.php.net/manual/de/function.ltrim.php
Entfernt die Zeichen nur am Anfang.
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

ltrim und rtrim funktionieren hier beide nicht.

ich habe es dann mit file versucht direkt in ein array zu schreiben.

jetzt habe ich folgende konstellation:
Array
(
[0] =>
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] =>
[7] =>
[8] =>
[9] =>
[10] =>
[11] =>
[12] =>
[13] =>
[14] =>
[15] =>
[16] =>
[17] =>
[18] =>
[19] =>
[20] =>
[21] =>
[22] =>
[23] =>
[24] =>
[25] =>
[26] =>
[27] =>
[28] =>
[29] =>
[30] =>
[31] =>
[32] =>
[33] =>
[34] =>
[35] =>
[36] =>
[37] =>
[38] =>
[39] =>
[40] => Titel der Seite
...
[52] - [56] => Text
...
[57] - [70] => wieder leer
dummerweise bekomme ich keine if-abfrage hin, die die leeren elemente entfernt / löscht.

!= "" geht nicht und !empty auch nicht. auch != "/n" will nicht.

wie kann ich herausfinden, was genau im array noch vorhanden ist?
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „Coding & Technik“