StackOverflow tidak akan memungkinkan saya untuk mengomentari jawaban hesselbom (tidak cukup reputasi), jadi saya menambahkan sendiri ...
$array = preg_split('/\s*\R\s*/', trim($text), NULL, PREG_SPLIT_NO_EMPTY);
Ini bekerja paling baik untuk saya karena juga menghilangkan spasi putih depan (kedua) dan trailing (pertama) secara otomatis dan juga melompati garis kosong (bendera PREG_SPLIT_NO_EMPTY).
- = PILIHAN = -
Jika Anda ingin tetap memimpin spasi putih, cukup singkirkan yang kedua * dan buatlah rtrim () sebagai gantinya ...
$array = preg_split('/\s*\R/', rtrim($text), NULL, PREG_SPLIT_NO_EMPTY);
Jika Anda perlu menjaga baris kosong, singkirkan bendera NULL (itu hanya placeholder) dan PREG_SPLIT_NO_EMPTY, seperti begitu ...
$array = preg_split('/\s*\R\s*/', trim($text));
Atau menjaga spasi putih dan baris kosong ...
$array = preg_split('/\s*\R/', rtrim($text));
Saya tidak melihat alasan mengapa Anda ingin tetap mengikuti spasi, jadi saya sarankan untuk meninggalkan yang pertama di sana. Tapi, jika semua yang Anda inginkan adalah untuk dibagi dengan baris baru (seperti judulnya), ini sederhana (seperti yang disebutkan oleh Jan Goyvaerts) ...
$array = preg_split('/\R/', $text);