Я использовал htmlpurifier в прошлом. Есть некоторые другие, но этот работал лучше для меня. Вы можете внести в белый список все разрешенные конструкции кода и сделать HTML-код совместимым со стандартом. Это хорошая первая линия защиты от атак XXS.
Библиотека довольно большая и может замедлить ваш код, если вы не установите его правильно, поэтому внимательно прочитайте документы по установке.