PHP REGEX – текст в массив по preg_split при разрыве строки

Редакция:

нужна помощь по разделенному массиву

массив:

array ( [0] => :some normal text :some long text here, and so on... sometimes i'm breaking down and... :some normal text :some normal text ) 

хорошо, теперь, используя

 preg_split( '#\n(?!s)#' , $text ); 

я получил

 [0] => Array ( [0] => some normal text [1] => some long text here, and so on... sometimes [2] => some normal text [3] => some normal text ) 

Я хочу получить это:

 [0] => Array ( [0] => some normal text [1] => some long text here, and so on... sometimes i'm breaking down and... [2] => some normal text [3] => some normal text ) 

что Regex может получить всю строку, а также разбить на разрыве линии !?

Вот пример, который работает, даже если у вас есть символ двоеточия, встроенный внутри строки (но не в начале строки):

 $input = ":some normal text :some long text here, and so on... sometimes i'm breaking: down and... :some normal text :some normal text"; $array = preg_split('/$\R?^:/m', $input); print_r($array); 

результат:

 Array ( [0] => some normal text [1] => some long text here, and so on... sometimes i'm breaking: down and... [2] => some normal text [3] => some normal text ) 

«разрыв строки» не определен. Windows использует только CR + LF (\ r \ n), Linux LF (\ n), OSX CR ​​(\ r).

Существует малоизвестный специальный символ \ R в preg_ * регулярных исключениях, который соответствует всем трем:

 preg_match('/^\R$/', "\r\n"); // 1 

file() считывает файл в массив.

Если вы разделите массив на символ: ..

 print_r(preg_split('/:/', $input)); 
 $lines = explode("\n", $text);