PHP: разбить строки textarea как отдельный элемент массива - PullRequest
6 голосов
/ 20 февраля 2012

У меня есть текстовое поле, содержащее номера телефонов, каждый номер в отдельной строке.Я хочу взорвать эту строку в массив, используя

explode("\n", $numbers);

или

explode("\r\n", $numbers);

Это не работает.Пожалуйста, помогите мне.Спасибо!

Ответы [ 3 ]

8 голосов
/ 20 февраля 2012

$records = preg_split('/[\r\n]+/', $mystring, -1, PREG_SPLIT_NO_EMPTY);

Это должно сделать это.

7 голосов
/ 20 февраля 2012

Как указано в руководстве : Возвращает массив строк .

Так что вам придется сохранить результат.or тоже не сработает.Если вы не знаете, будет ли ввод содержать \n или \r\n, вы можете сделать замену, чтобы заменить \r пустой строкой, а затем взорваться на \n.

Это должно сделатьхитрость:

$numbers = explode("\n", str_replace("\r", "", $numbers));
1 голос
/ 05 июня 2016

Используйте это

<?php

 $input = $_POST['textarea_name'];
 $new_array = array_values(array_filter(explode(PHP_EOL, $input)));

 // explode -> convert textarea to php array (that lines split by new line)
 // array_filter -> remove empty lines from array
 // array_values -> reset keys of array

?>
...