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

Posted

技术标签:

【中文标题】PHP:将 textarea 行分解为单独的数组元素【英文标题】:PHP: Explode textarea lines as separate array element 【发布时间】:2012-03-10 21:13:04 【问题描述】:

我有一个包含电话号码的文本区域,每个号码在单独的一行中。我想使用

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

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

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

【问题讨论】:

如果你这么聪明,告诉我,这里出了什么问题? 您是想写explode("\n", $numbers); 还是explode("\r\n", $numbers);?或者你实际上是把这两个语句写成这样的一行吗? 您应该发布更多代码、html 表单以及更多周边代码。 explode("\r\n", $numbers); 假设可以工作.. 它对我有用。 【参考方案1】:

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

应该这样做。

【讨论】:

【参考方案2】:

正如manual 所说:返回一个字符串数组

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

这应该可以解决问题:

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

【讨论】:

你是对的,当然。用户提交的数据可能无法转换为系统 EOL。评论已撤回。【参考方案3】:

使用这个

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

?>

【讨论】:

以上是关于PHP:将 textarea 行分解为单独的数组元素的主要内容,如果未能解决你的问题,请参考以下文章

将对象数组分解为用于数据库存储的单独变量(React、express、sql server)

使用PHP逐行读取textarea中的单词并插入到mySQL

使用 PHP 将 CSS 文件分解为数组

将稀疏特征向量分解为单独的列

PHP将'file_get_contents'分解为数组

线代--矩阵的分解-LU分解n阶方阵