Michael W.: Zeilen auslesen

Hallo,
Ich habe eine Textfile von ca. 30 zeilen. Ich möchte jetzt aber ein paar zeilen garnicht haben.
die textdatei wird automatisch erzeugt und deswegen habe ich keinen einfluss darauf und kann erst im nachhinein die zeilen filtern.
die zeilen haben folgendes schema:
[begriff]: [text]

und das 30 mal
und ich möchte anhand des begriffes einzelne zeilen rauspicken.
geht das mit php ? wenn ja wie ?

Danke

  1. Hallo,
    Ich habe eine Textfile von ca. 30 zeilen. Ich möchte jetzt aber ein paar zeilen garnicht haben.
    die textdatei wird automatisch erzeugt und deswegen habe ich keinen einfluss darauf und kann erst im nachhinein die zeilen filtern.
    die zeilen haben folgendes schema:
    [begriff]: [text]

    und das 30 mal
    und ich möchte anhand des begriffes einzelne zeilen rauspicken.
    geht das mit php ? wenn ja wie ?

    if ($begriff=="bla")
       {
       echo $text."<br>";
       }

    Danke

  2. Hallo,

    die zeilen haben folgendes schema:
    [begriff]: [text]

    und das 30 mal
    und ich möchte anhand des begriffes einzelne zeilen rauspicken.
    geht das mit php ? wenn ja wie ?

    yep.

    du öffnest das file zum lesen. liest zeile um zeile. wenn die zeile deiner erwartung entspricht, legst du sie in einem array ab. dann schliesst du das file wieder.
    dann öffnest du es wieder zum schreiben. und schreibst eintrag um eintrag deines arrays wieder in das file zurück. dann schliesst du das file wieder.

    gruss
    bjoern

  3. Huhu

    die zeilen haben folgendes schema:
    [begriff]: [text]
    und ich möchte anhand des begriffes einzelne zeilen rauspicken.
    geht das mit php ? wenn ja wie ?

    natürlich

    eine Lösung wäre z.B. in etwa so

    $fn = 'mytextfile.txt';
    $content = file($fn);
    $haystack = array();
    foreach($content as $c){
     list ($begriff,$text) = explode(':',$c);
     $haystack[$begriff][] = $text;
    }

    am Ende hast Du ein Array von Arrays - für jeden Begriff ein eigenes Array, also z.B:

    $wanted='Sport';
    $arr = $haystack[$wanted];

    dann sollte $arr alle Zeilen des TxtFiles enthalten die mit 'Sport:'
    anfangen.

    Sollten allerdings mehrere :s in einer Zeile sein wird der
    $text nur bis zum 2. : übernommen, dann musst Du eine andere Variante wählen.

    Ansonsten schau dir im PHP-Manual noch array_walk, und array_filter an.

    so far ...

    Viele Grüße

    lulu