Простой язык разметки на подобии bb-кодов с надежным парсером на php?
Для внутренней системы сообщений нужен какой-то простой язык разметки, который позволит пользователям вставлять в сообщения какие-либо теги, которые будут заменяться на сервере на генерируемый html. Эти теги практически никак не будут пересекаться с языком разметки html, т. е. речь в целом не о стилизации. Обработка тегов из коробки не нужна или должна быть настраиваемой (никаких h1, bold, таблиц и прочего). Более того, сообщения с тегами чаще всего будут отправляться само системой (системные сообщения). Например, вставка ссылки на профиль пользователя через тег [user=1]Admin[/user], который будет заменен на правильную ссылку с именем и аватаркой. Можно конечно сразу для системных сообщений генерировать html, но это неудобно, т. к. шаблоны могут меняться. При этом система разметки должна накладывать минимум ограничений на доступные пользователям символы (например, в случае html стали бы недоступны знаки < и >). Уже много лет используется самодельный парсер bb-кодов, но хочется перейти на что-то массовое и более гибкое. Требуется простота и надежность (уверенность в отсутствии XSS).
Тут все-таки больше идет речь об обработке пользовательских сообщений. Например, пользователь вставил ссылку, ссылка должна при отправке автоматически быть окружена каким-нибудь тегом [url], который парсер потом заменит на нужный код html. Как сюда json вплести то?
А в чем проблема, используйте HTMLPurifier: htmlpurifier.org мощная вещь. В свое время для простоты использовали BBCode, на PHP есть простая до безобразия библиотечка: https://github.com/jbowens/jBBCode но очень быстро отказались в пользу разметки на html с HTMLPurifier