Salut,
C'est compliqué car tes quantités sont à la fin mais n'ont pas toujours le même format. Tu ne peux pas faire en sorte d'indiquer d'abord l'ingrédient dans un input, puis la quantité dans une autre ? Ca serait plus simple je pense.
Sinon, tu peux partir sur une regexp qui ne prendrait que les caractères numériques, et essayer d'extraire comme cela.
Perso, je stockerais ça dans un JSON que j'insère en BD (champ de type JSON, MySQL 5.7+). Ce serait bien plus simple pour faire des opérations dessus ;)