Недавно я рассмотрел тот же вопрос с Perl, что и язык на стороне сервера.
При этом я наткнулся на Очиститель HTML , который может быть тем, что вы хотите. Но, очевидно, поскольку это на PHP, а не на Perl, я на самом деле не проверял это.
Кроме того, в своем исследовании я пришел к выводу, что это очень сложный бизнес, и по возможности рассмотрю использование упрощенного языка разметки, такого как Markdown, как предложил Хэнк Гей.