Тема: Реалізація "умовного тексту"
Реалізовую сайт-програвач інтерактивної літератури (текстових квестів) власного формату.
Зіштовхнувся з необхідністю реалізації "умовного тексту".
Наприклад, десь в БД зберігається якийсь текст, скажімо, опис якогось предмета.
Користувач при час ігрової сесії має певні параметри (власні характеристики, індикатои прийнятих рішень, тощо).
Отриманий користувачем текст опису предмета має адаптовуватись до поточних параметрів.
Під адаптацією розуміється багато речей, але найважчою зараз виглядає реалізація "умовного тексту".
Тобто текст в базі має містити певні умовні конструкції, які "підключають" певні абзаци, речення чи окремі слова до відображення.
Наприклад:
"
Ви стоїте біля старого $if botanic>1 $endcond дуба $else дерева $endif заввишки 20 метрів.
$if perseption>5 $endcond На одній з гілок ви помічаєте пташите гніздо. $endif
"
Спеціальна функція має доступ до параметрів користувача та відсікає зайвий текст перед відправкою.
Підстановку значень та аналіз простих умов (без and та or) реалізувати нескладно, а от далі стає важче.
Задача виглядає не те, щоб зовсім типовою, але точно не унікальною.
Підозрюю, що є якісь системи, стандарти чи шаблони для таких речей, може навіть якісь реалізовані бібліотеки є (php?).
Може хтось підкаже відповідні назви чи корисні поклилання/ідеї, щоб не винаходити інтерпретатор з нуля.