Textdatei auswerten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Textdatei auswerten

    Hallo,

    ich habe folgendes Problem:

    In einer Textdatei stehen Kurse und Informationen zu diesen in folgender Form:

    PHP-Code:
    [Kurse]
    [
    Kurs]
    [
    Bezeichnung]Word[/Bezeichnung]
    [
    Datum]11.11.06[/Datum]
    [
    Preis]40 €[/Preis]
    [/
    Kurs]

    [
    Kurs]
    [
    Bezeichnung]Excel[/Bezeichnung]
    [
    Datum]11.12.06[/Datum]
    [
    Preis]50 €[/Preis]
    [/
    Kurs]
    [/
    Kurse
    Das auslesen der Infos dürfte kein Problem werden. Nur weiss ich absolut nicht, wie ich es machen kann, dass alle Kurse durchlaufen werden. Wahrscheinlich in einer Schleife, aber wie könnte man das anstellen, dass er immer zum nächsten Kurs springt? Es sind ja nicht nur 2 sondern über 1000.

    Hat jemand eine Idee? Ich überlege schon die ganze Zeit, aber mir fällt nichts sinnvolles ein..

    Vielen Dank im Voraus

    Johannes

  • #2
    Hab bis jetzt die Textdatei mit file() eingelesen und dann über eine for-Schleife abgefragt, ob ein neuer Kurs beginnt bzw. ein anderer endet. So habe ich jetzt in einem Array "kurse" immer die Texte zwischen [Kurs] und [/Kurs].

    Jetzt übergeb ich die Texte an eine Funktion, die dann die Texte zwischen den Tags ausliest. Ich wollte das mit regulären Ausdrücken machen, hab da aber leider wenig Erfahrung. So hab ich´s probiert:

    PHP-Code:
    $tag "Bezeichnung";
    preg_match_all("/[".$tag.".](.*)[//".$tag."]/si",$str$matches1);

    print 
    "<pre>";
    print_r($matches1);
    print 
    "</pre>"
    Leider gibt er mir irgendwas aus, nur nicht den Text, den ich haben will...

    Kommentar


    • #3
      Leider gibt er mir irgendwas aus, nur nicht den Text, den ich haben will...
      Was gibt er dir denn aus...?

      Kommentar


      • #4
        Ausgeben tut er folgendes:

        PHP-Code:
        Array
        (
            [
        0] => Array
                (
                    [
        0] => BEZEICHNUNG]Word[\BEZEICHNUNG][DATUM]11.11.06[\DATUM][PREIS]40 €[\PREI
                
        )

            [
        1] => Array
                (
                    [
        0] => EZEICHNUNG]Word[\BEZEICHNUNG][DATUM]11.11.06[\DATUM][PREIS]40 €[\PRE
                
        )

        )

        Array
        (
            [
        0] => Array
                (
                    [
        0] => BEZEICHNUNG]Excel[\BEZEICHNUNG][DATUM]11.12.06[\DATUM][PREIS]50 €[\PREI
                
        )

            [
        1] => Array
                (
                    [
        0] => EZEICHNUNG]Excel[\BEZEICHNUNG][DATUM]11.12.06[\DATUM][PREIS]50 €[\PRE
                
        )


        Es stimmt also wahrscheinlich etwas mit dem regulären Ausdruck nicht. Hab das Tutorial durchgearbeitet, aber ich komm nicht auf den Fehler (die 2 \\ sind Absicht, denn in der Textdatei werden die Tags mit \ beendet, nicht mit einem /)

        Kann mir jemand helfen?

        Vielen Dank im Voraus

        Johannes

        Kommentar

        Lädt...
        X