使用换行符作为数组输入的分隔符


Use line-break as separator for an array input?

我以前从未真正使用过数组,因为到目前为止我从未使用过数组(一个简单的变量对我来说已经足够了),但是现在我创建了一个带有文本区域的表单,该表单旨在将多个url发送到我的PHP脚本。

我想做的是在访问者输入中使用换行符作为数组输入的分隔符。

例如,访问者输入90行文本(都是url的),数组将每一行文本分解为一个90行的列表,并为每一行创建一个数组值。

任何信息,建议或评论将非常感谢:)!

不能100%确定使用了哪些换行符,例如:

Windows使用'r'nLinux使用'n(旧)mac使用'r

然而,如果你知道这些,你可以简单地做:

$urls = explode("'n", $_POST['urls']);

编辑

实际上使用regex测试后比第一次做str_replace()和爆炸更快。

查看http://www.php.net/manual/en/function.preg-split.php,并使用新行号

作为分隔符

或参见PHP REGEX - text to array by preg_split at line break

要注意只使用'r'n,因为每个操作系统都有另一种方式定义"新行"
参见Tgr对SO问题的回答PHP REGEX -文本到数组通过preg_split在换行

使用explosion

$array=explode("'n",$_POST['textarea']);