我有一个包含电话号码的textarea,每个号码都在一个单独的行中。我想使用
将该字符串分解为数组explode("\n", $numbers);
或
explode("\r\n", $numbers);
这不起作用。请帮我。谢谢!
答案 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
?>