sitev_ru: есть такая структура, дерево называется. Вообще какой вопрос таков и ответ. Вы бы хоть уточнили что и как собираетесь там хранить в этой вашей CMS. Они ж разные бывают. Зачем то ж вам свой велосипед понадобился, значит отличаться будет от других.
Владимир Шикльгрубер: ну тогда не понятно зачем вам вообще что-то возвращать. Если надо вернуть статус операции HTTP предоставляет вам механизм статус кодов. 4xx - все плохо, 2xx - все хорошо.
Владимир Шикльгрубер: маркетинг. Если уровень не позволяет сделать какой-то детальный анализ или выбрать инструмент, то имеет смысл брать то. чем пользуются больше людей. Из менее замысловатых, ориентированных на быструю разработку, это Laravel, Lumen, Silex, Yii2.... как-то так, в таком порядке.
vasIvas: ну он уступает тем что bootstrap более универсальная штука и не зависит от фреймворков. В целом меня angular-material сильно смущает тем подходом, который они выбрали для разруливания стилей... не нравится мне такой подход. Но альтернативы особо нет.
xaseros: регулярные выражения для регулярной грамматики, а тут мы имеем дело с html. Нам надо не просто искать, но еще и заменять на атрибуты у конкретных элементов, добавлять новые... так что все чуточку сложнее.
bagerman: ну то есть с лексером, который разбирает код на отдельные лексемы, и парсером, который уже эти лексемы разбирает. Регурярки там тоже используются, но парсить HTML только регулярками как минимум не выйдет.