helplessTom Geschrieben 12. März 2007 Geschrieben 12. März 2007 ich habe eine große hässliche html datei und möchte mit php wertvolle Daten rausextrahieren - wie mache ich das am besten? Den Umweg alle html-tags rauszuschmeissen finde ich umständlich - und das dauert auch ziemlich lange, aber vielleicht mache ich auch etwas falsch (weil ich ein php neuling bin) Ist es richtig erst mittels file_get_contents() alles in einem string zu packen und dann mit preg_match_all() alles durchzulaufen? Wie krieg ich mittels preg_match_all() alles zur weiteren verarbeitung raus? Zitieren
oneside Geschrieben 13. März 2007 Geschrieben 13. März 2007 Also erstmal ist es wichtig zu wissen, was du überhaupt extrahieren willst? Möchtest du bis auf die HTML-Tags alle Daten aus der Datei erhalten oder nur einen bestimmten Teil der Daten? Möchtest du nur eine HTML-Datei bearbeiten die von der HTML Struktur immer gleich aufgebaut ist oder ändert sich diese vielleicht (falls verschiedene Dateien bearbeitet werden sollen). Wenn du einfach alle HTML-Tags aus einem String entfernen willst, kannst du dies mit der Funktion: strip_tags() durchführen. Die HTML-Datei kannst du mit der Funktion readfile() in eine Variable einlesen. Zitieren
helplessTom Geschrieben 13. März 2007 Autor Geschrieben 13. März 2007 Also erstmal ist es wichtig zu wissen, was du überhaupt extrahieren willst? Möchtest du bis auf die HTML-Tags alle Daten aus der Datei erhalten oder nur einen bestimmten Teil der Daten? Ich möchte nur einen bestimmten Teil der Daten, d.h. das sind Datensätze (Name,Adresse etc.), wobei die einzelnen Daten unterschiedlich eingeschlossen sind - alle htmltags rauszuschmeissen wäre ein anderer Weg - nur kenn ich keine funktion die das leistet (die Datei hat auch tables und javascript und etc) Möchtest du nur eine HTML-Datei bearbeiten die von der HTML Struktur immer gleich aufgebaut ist oder ändert sich diese vielleicht (falls verschiedene Dateien bearbeitet werden sollen). Erstmal nur eine Datei... Wenn du einfach alle HTML-Tags aus einem String entfernen willst, kannst du dies mit der Funktion: strip_tags() durchführen. HAb ich schonmal versucht, vielleicht mach ich ja was falsch, aber wenn ich es so versuche: $hfile = readfile("test.html", r); echo strip_tags($hfile);[/PHP] Gibt er mir die Seite im Browser, wie zuvor aus - kann es sein das er nicht mit tables zu recht kommt - wie kann ich herausfinden, was er tatsächlich rausgeschnmissen hat? Die HTML-Datei kannst du mit der Funktion readfile() in eine Variable einlesen. gut, hab ich jetzt so gemacht. Ich kenn aber nicht dne Unterschied zu file_get_contents... Zitieren
reuabreliz Geschrieben 16. März 2007 Geschrieben 16. März 2007 preg_replace (Suchmuster, Ersatz, zu_durchsuchender_Text [, int Limit [, int &Anzahl] ist ne zuper funktion Wenn du jetzt aus einem String alle html elemente verschwinden lassen willst dann so: Html tags fangen ja immer mit einem <...> an $text = preg_replace("/\<(.*)\>/Usi", " ", $text); // ersetzt alle htmltags mit " "-Leerzeichen Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.