PHP:将textarea行分解为单独的数组元素

时间:2012-02-20 14:23:05

标签: php textarea explode

我有一个包含电话号码的textarea,每个号码都在一个单独的行中。我想使用

将该字符串分解为数组
explode("\n", $numbers);

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

这不起作用。请帮我。谢谢!

3 个答案:

答案 0 :(得分:8)

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

这应该这样做。

答案 1 :(得分:7)

正如manual所述:返回字符串数组

所以你必须存储结果。 or也不会那样工作。如果您不知道输入是否包含\n\r\n,您可以执行替换以将\r替换为空字符串,然后在\n上展开。< / p>

这应该可以解决问题:

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

答案 2 :(得分:1)

使用此

<?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

?>