Rohtext einlesen und automatisch formatieren
Patrick
- php
0 rob
Hallo,
ich habe folgendes Thema, dass ich lösen muss, mir fehlt aber derzeit der rechte Ansatz.
Ich bekomme von der Presse Rohtexte, die immer einen ähnlichen aufbau haben. Diese möchte ich automatisch so formatieren und in MySQL schreiben.
Ich denke, dass ganze funktioniert mit regulären Ausdrücken, da muss ich mich einfach ein wenig mehr eingraben... Wie erkenne ich zum Beipiel, wann eine Zeilenschaltung erfolgt, damit ich den entsprechenden Abschnitt als Überschrift erkennen kann.
Danke für Eure Hilfe!
Gruss
Patrick
Hi!
Ich glaube, daß wird recht schwierig. Sicherlich kannst Du nach den Zeilenumbrüchen suchen, aber ob das ausreicht?
Ich weiß ja nicht, wie die Texte aussehen, aber könnte es nicht sein, daß es auch unter der Überschrift noch Umbrüche/Leerzeilen gibt?
wann eine Zeilenschaltung erfolgt, damit ich den entsprechenden Abschnitt als Überschrift erkennen kann.
Ein mögliches Problem ist vielleicht die Herkunft der Texte, weil verschiedene Systeme die Zeilenumbrüche anders codieren.
Ich würde das folgendermaßen machen:
Du suchst nach \n wenn deine Texte von Unix/Linux kommen, nach \r wenn es sich um Mac-Texte handelt und nach \r\n, wenn die Texte von Windows kommen.
Ich schätze, damit sollte das eigentlich problemlos funktionieren.
Aber vielleicht solltest Du dir überlegen, ob es nicht möglich wäre, die Texte anders zu schreiben. U.U. könnte man ein XML- oder XML-ähnliches Format dafür nehmen und die Überschriften mit <ueberschrift></ueberschrift> markieren. Das würde sich dann später besser filtern und formatieren lassen.
Gruß, rob
Hallo,
Ich glaube, daß wird recht schwierig.
Denke ich auch.
Das System kann zwar versuchen, einen Text automatisch in seine
Bestandteile aufzuspalten, aber ich denke, als Zwischenschritt waere
dann eine Kontrolle durch einen Menschen nicht schlecht, bevor das
ganze in die Datenbank gespeichert wird...
Du suchst nach \n wenn deine Texte von Unix/Linux kommen, nach \r wenn es sich um Mac-Texte handelt und nach \r\n, wenn die Texte von Windows kommen.
\n und \r sind offenbar nicht immer 100% eindeutig.
Zuverlaessiger waere es, nach den genauen Zeichen zu suchen.
Z.B. oktal: \12 und \15.
Windows - CR LF (Carriage Return, Line Feed) - dezimal 13 10, hexadez. 0D 0A, oktal 15 12
Mac Classic (bis OS 9) - CR - dez. 13 - hex. 0D - okt. 15
Unix, Linux, Mac ab OS X- LF - dez. 10 - hex. 0A - okt. 12
http://www.tiptom.ch/homepage/faq.html?q=zeilenumbruch
Gruesse,
Thomas