Javascript strip_tags

Javascript strip_tags

by onigetoc

JavaScript

var text= '<div id="text"><p style="color:red"> paragraph </p><div style="color:red"> div which should be stripped<p style="color:red"> paragraph </p></div><strong style="color:red"> strong which should be stripped </strong></div>';

document.write(strip_tags(text, '<p>'));

function strip_tags (input, allowed) {

    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
        commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}