CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
28.09.2005, 10:37:42
|
Anfänger
|
|
Registriert seit: Sep 2005
Beiträge: 4
|
|
parsen einer grausigen .txt
Hallo alle zusammen,
erstmal möchte ich sagen, dass ich Anfänger in php bin :-)
So nun zu meiner Frage. Ich muss eine .txt Datei parsen. Diese sieht wie folgt aus:
"PT J
AU Nachname1, CJ
Nachname2, M
Nachname3, W
Nachname4, W
TI Hier steht der Titel der Publikation, der auch leider ein "ENTER"
drinnen hat und daher so weiter schreibt
SO Full source Title
DT Article
DE Schlüsselwörter des Autors, welche über
2 Zeilen gehen können
ID Noch mehr Schlüsselwörter
AB Und hier der Artikel, der über viele Zeilen(20+) geht, wie bei AU oder
TI. Der Text enthält auch );(,-
...
"
Es geht noch weiter, aber vom Aufbau ist es das Selbe.
Ich habe schon im Internet gesucht, in Foren gesucht, habe auch Ansätze gefunden, aber da ich Anfänger bin, komme ich nicht weiter.
wie z.B.: preg_match_all, was bedeuten da diese Zeichen, wie in preg_match_all("|<[^>]+>(.*)</[^>]+>|U", ???
oder explode.
Ich habe es auch schon mit fopen, file,... versucht. Öffnen kann ich die Datei, komplett ausgeben auch, aber halt net parsen, damit ich sie später in die Datenbank laden kann.
Ach ja, es sind mehrere Publikationen, wie das Beispiel in einer .txt. So an die 500+, dass ist auch der Grund, warum ich es net von Hand in die Datenbank schreiben will.
Ich möchte mich schon mal für jeden kleinen Hinweis bedanken. Aber denkt dran, bin noch Anfänger :-)
PS: Eigentlich sollte, wenn der Text über die Zeile hinweg in eine neue geht, direkt unter dem anderen Text stehen und nicht von vorne anfangen, will aber net so wirklich. Nur die Abkürzungen, wie AU stehen vorne.
|
28.09.2005, 11:05:13
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
AW: parsen einer grausigen .txt
Entweder habe ich es überlesen oder Du nicht hingeschrieben: WAS willst Du parsen?
Soll die Datei etwa im Ganzen in die DB?
|
28.09.2005, 11:19:15
|
Anfänger
|
|
Registriert seit: Sep 2005
Beiträge: 4
|
|
AW: parsen einer grausigen .txt
Sorry, ich will in der Datenbank zu jeder Abkürzung den Eintrag rein schreiben. Zu AU soll der Autor rein, zu TI den Titel. Jede Publikation soll ihre eigene ID bekommen. Wie die Datenbank aussehen soll, dass hab ich mir schon überlegt, auch das Problem mit den verschiedenen Autoren, Koautoren
Ich hoffe ich habe mich einigermaßen verständlich ausgedrückt :-)
Aber danke für die schnelle Antwort
|
28.09.2005, 12:23:19
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
AW: parsen einer grausigen .txt
Gut, hab's verstanden.
Ich würde auch denken, dass es mit regulären Ausdrücken, geht, habe es aber noch nicht geschafft. Sieht so aus:
PHP-Code:
$text="PT J
AU Nachname1, CJ
Nachname2, M
Nachname3, W
Nachname4, W
TI Hier steht der Titel der Publikation, der auch leider ein \"ENTER\"
drinnen hat und daher so weiter schreibt
SO Full source Title
DT Article
DE Schluesselwörter des Autors, welche über
2 Zeilen gehen können
ID Noch mehr Schluesselwörter
AB Und hier der Artikel, der ueber viele Zeilen(20+) geht, wie bei AU oder
TI. Der Text enthaelt auch );(,-
...";
$keywords=array('PT', 'AU', 'TI', 'SO', 'DT', 'DE', 'AB', 'ID', 'CJ');
$keywords='^'.join('|^', $keywords);
// Er holt die Zeilenumbrueche nicht mir raus?
preg_match_all("/(($keywords) (.*))*$/msU", $text, $result);
echo '<xmp>';
var_dump($result);
Falls wer das Fehlerchen findet: ich wissen will!
|
28.09.2005, 12:55:39
|
Anfänger
|
|
Registriert seit: Sep 2005
Beiträge: 4
|
|
AW: parsen einer grausigen .txt
Noch ne Frage. Was bedeuten eigentlich bei preg_match_all diese ".*))*$/msU" Befehle? Ich hab die auch schon auf einer Seite, wo preg_match_all erklärt wird, gesehen (preg_match_all("|<[^>]+>(.*)</[^>]+>|U",), aber ich kann damit nix anfangen. Wo bekomme ich Infos darüber her?
Danke
|
28.09.2005, 13:00:04
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
AW: parsen einer grausigen .txt
|
28.09.2005, 16:11:09
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: parsen einer grausigen .txt
Geändert von xabbuh (28.09.2005 um 16:11:33 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:09:26 Uhr.
|