Редакция:
нужна помощь по разделенному массиву
массив:
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);