StackOverflow는 hesselbom의 답변 (평판이 충분하지 않음)에 대해 언급 할 수 없으므로 내 자신을 추가하고 있습니다 ...
$array = preg_split('/\s*\R\s*/', trim($text), NULL, PREG_SPLIT_NO_EMPTY);
이것은 선행 (두 번째 \ s *) 및 후행 (첫 번째 \ s *) 공백을 자동으로 제거하고 빈 줄 (PREG_SPLIT_NO_EMPTY 플래그)을 건너 뛰기 때문에 나에게 가장 효과적이었습니다.
-= 옵션 =-
선행 공백을 유지하려면 두 번째 \ s *를 제거하고 대신 rtrim ()으로 만드십시오.
$array = preg_split('/\s*\R/', rtrim($text), NULL, PREG_SPLIT_NO_EMPTY);
빈 줄을 유지 해야하는 경우 NULL (자리 표시 자 만)과 PREG_SPLIT_NO_EMPTY 플래그를 제거하십시오.
$array = preg_split('/\s*\R\s*/', trim($text));
또는 선행 공백과 빈 줄을 모두 유지하십시오 ...
$array = preg_split('/\s*\R/', rtrim($text));
왜 공백을 계속 남기고 싶은지 알 수 없으므로 첫 번째 \ s *를 남겨 두는 것이 좋습니다. 그러나 원하는 모든 것이 줄 바꿈으로 제목을 나누는 것이라면 (Jan Goyvaerts가 언급 한 것처럼) 간단합니다 ...
$array = preg_split('/\R/', $text);