В прошлой статье я коротко описал возможности формальных грамматик. Сейчас я хочу представить вам интересное приложение полученных навыков — HTML Cleaner на PHP. Если коротко, то задача стояла так: чистить введенный пользователем в редакторе MCE текст.
Конечно же было сходу найдено стандартное решение KSES, но как-то я с ним не подружился и ввиду своей безработности сегодня решил написать свой аналог, который был бы достаточно надежен, гибок и проще / понятнее (в KSES свыше 1к строк кода).
Собственно вот то, что получилось. Всем предлагаю воспользоваться, помочь оттестировать (понакидать в него наиболее неадекватные HTML куски и посмотреть как съест).
Преимущества:
1. простой синтаксис конфига
2. возможность породить от класса своего наследника с целью тонкой валидации введенных данных
3. построен на принципе формальных грамматик (правда дерево или стек не строю, счел его не нужным для задачи)
UPD: tidy консолен — со всеми преимуществами и недостатками.
Конечно же было сходу найдено стандартное решение KSES, но как-то я с ним не подружился и ввиду своей безработности сегодня решил написать свой аналог, который был бы достаточно надежен, гибок и проще / понятнее (в KSES свыше 1к строк кода).
Собственно вот то, что получилось. Всем предлагаю воспользоваться, помочь оттестировать (понакидать в него наиболее неадекватные HTML куски и посмотреть как съест).
Преимущества:
1. простой синтаксис конфига
2. возможность породить от класса своего наследника с целью тонкой валидации введенных данных
3. построен на принципе формальных грамматик (правда дерево или стек не строю, счел его не нужным для задачи)
UPD: tidy консолен — со всеми преимуществами и недостатками.