Раскрытие скобок в PHP
Являюсь студентом и получил практическое задание:
Описание задания Есть строка:
{Пожалуйста,|Просто|Если сможете,} сделайте так, чтобы это {удивительное|крутое|простое|важное|бесполезное} тестовое предложение {изменялось {быстро|мгновенно|оперативно|правильно} случайным образом|менялось каждый раз}.
Задача:
- Строка должна раскрываться согласно следующим правилам:
- {..|..} значит, что допустимо одно из указанных значений, то есть {крутое|простое} значит, что выведется ТОЛЬКО крутое или ТОЛЬКО простое.
- Вложенные фигурные скобки так же должны раскрываться, значит: {простое|очень {сложное|удачное}} в итоге получим на выходе один из трёх вариантов: "простое", "очень сложное", "очень удачное".
- Вложенность может быть бесконечной.
- Необходимо реализовать алгоритм получения всех возможных вариантов раскрытия исходной строки.
Хотел бы попросить помощи направить в верное русло мышления