Разделить строку по символам новой строки [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Разделить строку по символам новой строки [дубликат]

Сообщение Anonymous »

Этот вопрос очень похож на использование preg_split вместо разделения, но у меня есть некоторые путаницы с регулярным выражением, которые мне хотелось бы прояснить.
Пытаюсь обновить некоторые существующие разделения () вместо этого использовать preg_split(), и я получаю неясные результаты. Выполнение приведенного ниже кода даст мне массивы разной длины, и я не знаю, почему.
Из того, что я вижу, разделение предварительно сопоставляет \n с возможным \r.
И я думаю, что preg_split() делает то же самое, но тогда почему он создает два разделения? Это связано с ленивым/жадным сопоставлением?
Демо-код:

Код: Выделить всё

$test = "\r\n";

$val = split('\r?\n', $test); //literal interpretation of string
$val_new = split("\r?\n", $test); //php understanding that these are EOL chars
$val2 = preg_split('/\r?\n/', $test);

var_dump($val); // returns array(1) { [0]=> string(2) " " }
var_dump($val2); // returns array(2) { [0]=> string(0) "" [1]=> string(0) "" }
Изменить: добавлено в $val_new на основе комментариев Kolinks, поскольку они помогли прояснить мое понимание проблемы, поэтому могут быть полезны и другим

Подробнее здесь: https://stackoverflow.com/questions/102 ... y-newlines
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»