Как разорвать многострочную строку?
PHP - У меня есть строка, которая имеет разные значения в каждой строке:
$matches="value1
value2
value3
value4
value5
";
Я хочу разнести всю строку в массив, состоящий из отдельных значений. Я знаю, как взорвать строку, разделенную пробелом, напримерexplode(' ', $matches)
. Но как мне использовать функцию разнесения для этого типа строк?
Я попробовал это:
$matches=explode('\n',$matches);
print_r($matches);
Но результат такой:
Array
(
[0] => hello
hello
hello
hello
hello
hello
hello
)
2 answers
Прочитайте руководство пользователя
Примечание: В отличие от синтаксисов с двойными кавычками и heredoc, переменные и escape последовательности для специальных символов не будут расширяться, если они встречаются в строках в одинарных кавычках.
Поэтому используйте "\n" вместо "\n"
Кроме того, вместо \n
вы можете использовать константу PHP_EOL.
В окнах "\r\n" можно использовать в качестве конца строки, для этого случая вы можете сделать двойную замену:$matches=explode("\n", str_replace("\r","\n",$matches));