Infinite
@Infinite
Developer

Как правильно разбить строку на ингредиенты, кол-во и меру?

Подскажите в каком направлении думать или может кто-то сталкивался с такой задачей. Как правильно разбить строку на ингредиент, кол-во, меру.

Примеры строк:
  • Соленые огурцы 150 гр
  • Лук репчатый – 1-2 шт.
  • Картофель (3 штуки)
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
$re = '/(.*?)(?:|[\s\(\:-]+)([0-9x\.\,-]+)(?:\s|)([^\s\)\]]+)/';
$str = 'Соленые огурцы 150 гр
Лук репчатый - 1-2 шт.
Картофель (3 штуки)
Плитка: 200x200x3мм';

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

// Print the entire match result
var_dump($matches);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Rema1ns
@Rema1ns
и так сойдет
Если все будет примерно так как вы описали, то в конце строки всегда идет мера, через пробел от нее количество,
и все что осталось, это ингредиент по шаблону только буквы пробелы. И да, для удобства заменять все символы кроме А-Яа-я\-\ на пробелы, и избавиться от дублирования пробелов.

Должно примерно так получиться:

Соленые огурцы 150 гр
Лук репчатый 1-2 шт
Картофель 3 штуки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы