php форма c textarea и запись каждой строки в переменную

Не очень понимаю как привести код к виду где каждая новая строка их textarea будет записывать в новую переменную, или цикл что бы быть обработанной api.

Иметься код, формы:

<form action="2.php" method="post">
<textarea rows="10" cols="75" name="name" ></textarea>
 <p><input type="submit" /></p>
</form>

Код обработчика:

   <?php

include "API.php";

$api = new API();
$api->access_token = '236a054c';

$var = $_POST['name'];


$data = $api->getFilesInfo(["$var"]);

if (!array_key_exists('files', $data)) {
    echo 'There is no files in response' . PHP_EOL;
}


foreach ($data['files'] as $file) {
    echo '<pre>';
    echo (array_key_exists('id', $file) ? $file['id'] : 'ID not found')  . PHP_EOL; 
    echo '</pre>';
}

API отвечают так:

    {
   "status":"success",
   "code":200,
   "files": [
      {
         "id":"4632a04bb0d2b",
         "name":"test",
         }
      }
   ]

Так вот, все мои варианты обрабатывали только первое значение, как обработать все значения которые будут написаны в тестовую форму с новой строки


Ответы (1 шт):

Автор решения: Егор Банин

В $_POST['name'] вам прилетит текст из textarea. Каждая новая строка в нём отделена от предыдущей символом (или несколькими) переноса строки.

Вам надо разбить текст по символу переноса строки и вы получите отдельные строки

<?php

$vals = preg_split('/\R/', $_POST['name']?? '', -1, PREG_SPLIT_NO_EMPTY);

→ Ссылка