При использовании пользовательских данных в атрибутах HTML вам необходимо принять дополнительные меры предосторожности. Поскольку атрибуты имеют гораздо больше векторов атак, чем вывод внутри HTML-тегов.
Единственный способ избежать атак XSS - это кодировать все, кроме буквенно-цифровых символов. Удалите все символы с значениями ASCII менее 256 с помощью & amp; #xHH; формат. Что, к сожалению, может вызвать проблемы в вашем сценарии, если вы используете классы CSS и javascript для извлечения этих элементов.
OWASP имеет хорошее описание того, как уменьшить атрибут HTML XSS: