Распарсить строчку на составляющие

232
04 января 2019, 10:30

Не понимаю как разпарсить строчку указанную ниже на переменные, для дальнейщего применения .

Анальгин обычный капсулы 300 мг, 20 шт.

  • $name = "Анальгин"
  • $type ="обычный"
  • $dosage = "капсулы 300мг"
  • $count = "20 шт"

P.S Подходящих тем не нашел

Answer 1

Можно так: $a = explode (" ", $str);

Answer 2

Можно распарсить с помощью регулярных выражений

$str = 'Анальгин обычный капсулы 300 мг, 20 шт.';
preg_match_all('~\pL+(?:\s\d+\s\pL+\S)?|\d+\s\pL+\S~u', $str, $arr);
list($name, $type, $dosage, $count) = $arr[0];
echo "$name $type $dosage $count";
READ ALSO
В каких случаях метод ActiveRecord save() возвращает false?

В каких случаях метод ActiveRecord save() возвращает false?

У меня с товарищем возникла дискуссия вот по какому поводу:

209
Помогите составить правильный sql запрос

Помогите составить правильный sql запрос

Порядок нахождения записей в БД построен указным на скриншоте образом

202