depp: Regulärer Ausdruck: Ende

moin
wie kann ich einen mehrzeiligen string in einen array umwandeln mit hilfe von preg_match_all?
als merkmal für ein neues feld soll \r\n oder nur \n oder das ende des strings gelten.
dieser code hat 2 fehler:
preg_match_all("^(.*?)\n^i",$str,$array);
1.)das erste zeichen eines feldes kann \r sein, wenn \r\n den zeilenumbruch hervorgerufen hat und nicht nur \n!
2.)die letzte zeile wird nicht dazugezählt :-(

danke für hilfe

  1. moin

    Moin!

    wie kann ich einen mehrzeiligen string in einen array umwandeln mit hilfe von preg_match_all?

    Wieso nimmst du nicht preg_split()? Das scheint mir deutlich einfacher als

    preg_match_all("^(.*?)\n^i",$str,$array);

    Mein Vorschlag wäre daher:

    $array = preg_split('/[\r?\n]/', $str);   // ungeprüft

    danke für hilfe

    Hoffe, das funktioniert.

    Robert