Aus txt-Datei eine Wortliste in meiner MYSQL-Datenbank erzeugen
Josee
- php
Hallo,
ich stehe nun vor einer Aufgabe, bei der mein Können nicht mehr ausreichend ist, um sie alleine zu lösen.
Folgendes will ich machen.
Ich habe eine Wortliste die sieht wie folgt aus:
[...]
Abbeizen {n} :: pickling; stripping
Abbeizpaste {f} :: scouring paste
Abbesche Zahl {f} [math.] :: Abbe coefficient
[...]
natürlich {adj} :: natural
natürlich; ungekünstelt {adv} :: naturally
natürlich; schlicht {adj} :: artless
[...]
Wanderschauspieler {m} | Wanderschauspieler {pl} :: barnstormer | barnstormers
[...]
(Ganz kleiner Ausschnitt; txt-Datei ist 9 MB groß)
Mein Anliegen ist nun, die Wörter in die Datenbank zu schreiben. Immer das in den eckigen Klammern [] zur Veranschaulichung soll genommen werden. Das danach kommt und das davor steht, soll ignoriert werden.
natürlich; [schlicht] {adj} :: artless
[Wanderschauspieler] {m} | Wanderschauspieler {pl} :: barnstormer | barnstormers
Könnt ihr mir hier Tipps geben wie ich das lösen kann?
Schöne Grüße vom Bodensee.
Hallo,
ich stehe nun vor einer Aufgabe, bei der mein Können nicht mehr ausreichend ist, um sie alleine zu lösen.Folgendes will ich machen.
Ich habe eine Wortliste die sieht wie folgt aus:[...]
Abbeizen {n} :: pickling; stripping
Abbeizpaste {f} :: scouring paste
Abbesche Zahl {f} [math.] :: Abbe coefficient
[...]
natürlich {adj} :: natural
natürlich; ungekünstelt {adv} :: naturally
natürlich; schlicht {adj} :: artless
[...]
Wanderschauspieler {m} | Wanderschauspieler {pl} :: barnstormer | barnstormers
[...](Ganz kleiner Ausschnitt; txt-Datei ist 9 MB groß)
Mein Anliegen ist nun, die Wörter in die Datenbank zu schreiben. Immer das in den eckigen Klammern [] zur Veranschaulichung soll genommen werden. Das danach kommt und das davor steht, soll ignoriert werden.
natürlich; [schlicht] {adj} :: artless
[Wanderschauspieler] {m} | Wanderschauspieler {pl} :: barnstormer | barnstormersKönnt ihr mir hier Tipps geben wie ich das lösen kann?
Schöne Grüße vom Bodensee.
Du willst also pro zeile nur das auslesen, was in eckigen klammern ist?
Nicht ganz. Die eckigen Klammern habe ich zur Veranschaulichung dazugemacht. In den original Zeilen sind diese nicht vorhanden.
Aber ja, das was in den Klammern steht möchte ich auslesen.
Hallo,
Nicht ganz. Die eckigen Klammern habe ich zur Veranschaulichung dazugemacht. In den original Zeilen sind diese nicht vorhanden.
und wie soll das Programm entscheiden, welches der Wörter Du haben möchtest?
Hast Du Dir dazu eine Vorschrift überlegt? Wie entscheidest Du?
Freundliche Grüße
Vinzenz
Hallo,
Nicht ganz. Die eckigen Klammern habe ich zur Veranschaulichung dazugemacht. In den original Zeilen sind diese nicht vorhanden.
und wie soll das Programm entscheiden, welches der Wörter Du haben möchtest?
Hast Du Dir dazu eine Vorschrift überlegt? Wie entscheidest Du?Freundliche Grüße
Vinzenz
lustich, das wir die gleiche idee hatten %>
Ja, ihr habt recht. Ich brauch Kriterien. Hab mir die Kriterien überlegt.
Es soll immer das Wort genommen werden das vor der ersten { kommt.
Beispiel: natürlich {adj} :: natural -> Wort das genommen wird: natürlich
Außerdem gibt es Zeilen in denen vor den eigentlichen Wörter die Herleitung steht.
Beispiel: niederträchtig; verleumderisch; beleidigend {adj} :: scurrilous
Dafür das Kriterium, das Wort nach dem letzten Semikolon ; -> Wort das in dem Beispiel genommen wird: beleidigend
__________________________________________________________________________
Zusammengefasst: Das Wort nach dem letzten ; (falls vorhanden) und vor dem ersten { (ist immer vorhanden)
Ja, ihr habt recht. Ich brauch Kriterien. Hab mir die Kriterien überlegt.
Es soll immer das Wort genommen werden das vor der ersten { kommt.
Beispiel: natürlich {adj} :: natural -> Wort das genommen wird: natürlich
Außerdem gibt es Zeilen in denen vor den eigentlichen Wörter die Herleitung steht.
Beispiel: niederträchtig; verleumderisch; beleidigend {adj} :: scurrilous
Dafür das Kriterium, das Wort nach dem letzten Semikolon ; -> Wort das in dem Beispiel genommen wird: beleidigend
__________________________________________________________________________
Zusammengefasst: Das Wort nach dem letzten ; (falls vorhanden) und vor dem ersten { (ist immer vorhanden)
http://de.selfhtml.org/perl/sprache/regexpr.htm
http://de.selfhtml.org/perl/sprache/regexpr.htm
Danke für den Link. Ich habe es nun schon einmal so weit geschafft, dass von der Zeile:
endlos {adv} :: unendingly
_endlos_ ausgelesen wird.
<?php
$string = "endlos {adv} :: unendingly";
if (preg_match('|{|', $string)) {
preg_match('|\w+|', $string, $treffer);
}
print_r($treffer);
?>
Seit einer Ewigkeit versuche ich allerdings nun schon das folgende. In meiner Txt-Datei gibt es auch Zeilen die so aussehen:
endlos; unendlich groß; ungeheuer {adj} :: infinite
Aus dieser möchte ich ja wie gesagt das Wort hinter dem letzen ; auslesen und vor dem ersten { also: ungeheuer
Ich bin immer noch nicht dahinter gekommen wie ich das hinbekomme.
Bitte sei jemand so gnädig und helfe mir...
Nicht ganz. Die eckigen Klammern habe ich zur Veranschaulichung dazugemacht. In den original Zeilen sind diese nicht vorhanden.
Aber ja, das was in den Klammern steht möchte ich auslesen.
Was genau sind die Kriterien, welches Wort genommen wird? das erste von allen, hinter denen eine { kommt?? wenn du die kriterien nicht genau mitteilst, kann ich dir leider nicht helfen. Vielleicht helfen dir reguläre Ausdrücke weiter?