StackOverflow bana hesselbom'un cevabı (yeterli itibar) hakkında yorum yapmama izin vermeyecek, bu yüzden kendi ...
$array = preg_split('/\s*\R\s*/', trim($text), NULL, PREG_SPLIT_NO_EMPTY);
Bu benim için en iyi sonucu verdi çünkü aynı zamanda önde gelen (ikinci \ s *) ve sondaki (first \ s *) boşlukları otomatik olarak ortadan kaldırır ve ayrıca boş satırları (PREG_SPLIT_NO_EMPTY bayrağı) atlar.
- = SEÇENEKLER = -
Eğer önde gelen boşluk tutmak istiyorsanız, sadece ikinci \ s * kurtulmak ve bunun yerine bir rtrim () yapmak ...
$array = preg_split('/\s*\R/', rtrim($text), NULL, PREG_SPLIT_NO_EMPTY);
Boş satırları tutmanız gerekiyorsa, NULL (yalnızca bir yer tutucudur) ve PREG_SPLIT_NO_EMPTY bayrağından kurtulun ...
$array = preg_split('/\s*\R\s*/', trim($text));
Veya hem önde gelen boşlukları hem de boş satırları koruyarak ...
$array = preg_split('/\s*\R/', rtrim($text));
Sonunda boşluk bırakmaya devam etmek için hiçbir neden göremiyorum, bu yüzden ilk \ s * 'ı orada bırakmanızı öneririm. Ancak, istediğiniz tek şey yeni bir satıra bölmekse (başlığın da belirttiği gibi), bu basittir (Jan Goyvaerts tarafından belirtildiği gibi) ...
$array = preg_split('/\R/', $text);