Nick Knatterton: Preg_match_all -> Filter

Hallo,

ich habe einen Datenbestand der wie folgend aussieht

34512|scharfesoße|heiß|essen|
42443|sonnenwende|licht|kalt|
34156|michale|rot|pumukel|

Ich möchte nun jeden Datenstring für sich einzeln nutzen. Aufgrund der Schnelligkeit habe ich mich daher für Preg_match_all entschieden.

Aber wie bringe ich preg_match_all bei nach dem "ENTER" zu matchen:
preg_match_all('|(.*)|Uism',$data, $items, PREG_PATTERN_ORDER);
matcht nach jedem Buchstaben.
preg_match_all('|(.*)\r\n|Uism',$data, $items, PREG_PATTERN_ORDER);
bringt leider garnichts.

Danke für eure konstruktiven Ideen.

Euer Knick Knatterton

  1. Hallo,

    ich habe einen Datenbestand der wie folgend aussieht

    34512|scharfesoße|heiß|essen|
    42443|sonnenwende|licht|kalt|
    34156|michale|rot|pumukel|

    aufgrund des Formats bieten sich fgetcsv bzw. strgetcsv an.

    Freundliche Grüße

    Vinzenz, der Zitat 1418 mag

  2. ich habe einen Datenbestand der wie folgend aussieht

    34512|scharfesoße|heiß|essen|
    42443|sonnenwende|licht|kalt|
    34156|michale|rot|pumukel|

    Ich möchte nun jeden Datenstring für sich einzeln nutzen. Aufgrund der Schnelligkeit habe ich mich daher für Preg_match_all entschieden.

    Und jetzt hast du zwei Probleme?

    Dein String ist offensichtlich im CSV-Format, warum nutzt du nicht die dafür vorgesehenen Funktionen?

    fgetcsv bzw. str_getcsv

    Aber wie bringe ich preg_match_all bei nach dem "ENTER" zu matchen:

    Das m-Flag.

    preg_match_all('|(.*)|Uism',$data, $items, PREG_PATTERN_ORDER);
    matcht nach jedem Buchstaben.

    Works as designed.

    preg_match_all('|(.*)\r\n|Uism',$data, $items, PREG_PATTERN_ORDER);

    Auch logisch, da eine beliebige Zeichenkette gefolgt von \r\n in deiner Zeichenkette nicht vorkommt.