JSFiddle - React, Tailwind, and code Playground
JavaScript
String.prototype.stripTags = function (allowed) { // http://locutus.io/php/strings/strip_tags/
// making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('');
return this.replace(/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi, '') // удаляем PHP-теги и HTML-комментарии
.replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi, function ($0, $1) { // удаляем HTML-теги..
return allowed.includes('<' + $1.toLowerCase() + '>') ? $0 : ''; // .. но только запрещённые
});
};
m = m.stripTags('<b><i><u><img><font><br>').replace(/<br>/g, '\n').replace(/ /g, '\u00A0').trim().replace(/\n/g, '<br>');