replace() так не работает:
('<test>').replace(['<', '>'], ''); // "<test>"
Заменить угловые скобки можно так:
content = content.replace(/[<>]/g, '');
Это
регулярное выражение / /, которое заменяет "глобально" (флаг
g) во всей строке
любой из симолов внутри квадратных скобок
[ ] , на пустую строку
''.
Уверены, что хотите в превью пропускать любые теги, включая
script ? Это может быть небезопасно.
Более разумная, может, идея – создать
в теневой DOM узел с этим HTML, в нём удалить запретные теги через обычные
querySelectorAll('script') и затем уцелевшее дерево вставить в элемент для предпросмотра.
Другой вариант — вставить этот HTML в iFrame с максимально строгими запретами.