文本区域到数组与 PHP

2022-08-30 18:47:31

我试图弄清楚如何将html文本区域转换为php数组,

我使用带有POST的表单将查询传递给php脚本,php文件使用以下行获取它们:

$ids = array($_POST['ids']);

不用说,它将所有内容放在一行中

Array ( [0] => line1 line2 line3 line4 ) 

我需要最终结果来替换这个:

$numbers = array(
"line1",
"line2",
"line3",
"line4"
);

划分和重新解析它的最佳方法是什么?


答案 1

使用分解是获取新行的正确方法。请记住,在某些平台上,行的末端实际上是由 发送的,因此只是爆炸式增长可能会在每行的末尾留下额外的数据。\n\r\n\n

我的建议是在爆炸之前删除,这样你就不必遍历整个数组来修剪结果。作为最后的改进,您不知道实际上有一个,所以总是先检查它。\r$_POST['ids']

<?
$input = isset($_POST['ids'])?$_POST['ids']:"";

//I dont check for empty() incase your app allows a 0 as ID.
if (strlen($input)==0) {
  echo 'no input';
  exit;
}

$ids = explode("\n", str_replace("\r", "", $input));
?>

答案 2

我会像这样完成雨果的爆炸:

$ids = explode(PHP_EOL, $input);

手动预定义常量

只是我的两分钱...


推荐