Uno strip_tags in JavaScript

Chi conosce il funzionamento dello strip_tags in PHP?
Vi è mai capitato di averne bisogno in javascript?

Ecco la soluzione:

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 : '';
    });
}

Esempio

Eseguendo:

strip_tags('<p>Kevin</p> <b>van</b> <i>Zonneveld</i>', '<i><b>');

Avrai:

Kevin <b>van</b> <i>Zonneveld</i>

Maggiori info!?!
Visita il sito degli autori

Potrebbero interessarti anche...