Получить два разных массива из формы текстового поля

0

У меня есть одно текстовое поле в моей форме html. Пользователи будут писать в этом текстовом поле следующим образом:

  • 5x Голубой цветок
  • 2 Красный цветок
  • 3 * Желтый цветок
  • Фиолетовый цветок

Поэтому мне нужно получить два массива. Один - это номер, а другой - цветок.

Пока я получил числа в массиве, но я боюсь получать только цветы во втором массиве. Кроме того, там, где они не помещают номер, должен быть номер по умолчанию 1.

$text_data = $_POST['tekst'];
$input = explode("\n", $text_data);
foreach($input as $line)
{
$number = preg_replace("/[^0-9]/", '', $line);
echo $number . '<br>';
echo $line;
}

Любая помощь приветствуется.

Теги:
arrays
forms
textfield

1 ответ

0
Лучший ответ

Пытаться

foreach($input as $line){
 preg_match("/\d+/", $line, $matches);
 $line = preg_replace("/\d+/",'' ,$line);
 $number = (isset($matches[0]))?$matches[0]:1;
 if(strlen($line)>0){
   echo $number."-->".$line."\n";
 }
}

Смотрите демо здесь

  • 0
    Большое спасибо! Это именно то, что мне нужно
  • 0
    Почему я не могу использовать foreach там (это как $ line не массив)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню