Mit StackOverflow kann ich die Antwort von hesselbom nicht kommentieren (nicht genügend Ruf), daher füge ich meine eigene hinzu ...
$array = preg_split('/\s*\R\s*/', trim($text), NULL, PREG_SPLIT_NO_EMPTY);
Dies funktionierte am besten für mich, da außerdem führende (zweite \ s *) und nachfolgende (erste \ s *) Leerzeichen automatisch eliminiert werden und auch Leerzeilen übersprungen werden (das PREG_SPLIT_NO_EMPTY-Flag).
- = OPTIONEN = -
Wenn Sie weiterhin führende Leerzeichen verwenden möchten, entfernen Sie einfach das zweite \ s * und machen Sie es stattdessen zu einem rtrim () ...
$array = preg_split('/\s*\R/', rtrim($text), NULL, PREG_SPLIT_NO_EMPTY);
Wenn Sie leere Zeilen behalten müssen, entfernen Sie das NULL-Flag (es ist nur ein Platzhalter) und das PREG_SPLIT_NO_EMPTY-Flag wie folgt ...
$array = preg_split('/\s*\R\s*/', trim($text));
Oder sowohl führende Leerzeichen als auch Leerzeilen beibehalten ...
$array = preg_split('/\s*\R/', rtrim($text));
Ich sehe keinen Grund, warum Sie jemals Leerzeichen nachziehen möchten, daher schlage ich vor, die ersten \ s * dort zu belassen. Aber wenn Sie nur nach neuen Zeilen aufteilen möchten (wie der Titel schon sagt), ist dies DIESES Einfache (wie von Jan Goyvaerts erwähnt) ...
$array = preg_split('/\R/', $text);