去除html标签方法

有两个月没写博客了吧,被鄙视了,记录一个javascript函数,凑合当一篇吧。

function strip_tags (input, allowed) {
    // Strips HTML and PHP tags from a string  
    // 
    // version: 1109.2015
    // discuss at: http://phpjs.org/functions/strip_tags
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Luke Godfrey
    // +      input by: Pul
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // +      input by: Alex
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Marc Palau
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Eric Nagel
    // +      input by: Bobby Drake
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Tomasz Wesolowski
    // +      input by: Evertjan Garretsen
    // +    revised by: Rafał Kukawski (http://blog.kukawski.pl/)
    // *     example 1: strip_tags('<p>Kevin</p> <b>van</b> <i>Zonneveld</i>', '<i><b>');
    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
    // *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
    // *     example 4: strip_tags('1 < 5 5 > 1');
    // *     returns 4: '1 < 5 5 > 1'
    // *     example 5: strip_tags('1 <br/> 1');
    // *     returns 5: '1  1'
    // *     example 6: strip_tags('1 <br/> 1', '<br>');
    // *     returns 6: '1  1'
    // *     example 7: strip_tags('1 <br/> 1', '<br><br/>');
    // *     returns 7: '1 <br/> 1'
    allowed = (((allowed || "") + "").toLowerCase().match(/<&#91;a-z&#93;&#91;a-z0-9&#93;*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
    var tags = /<\/?(&#91;a-z&#93;&#91;a-z0-9&#93;*)\b&#91;^>]*>/gi,
        commentsAndPhpTags = /<!--&#91;\s\S&#93;*?-->|<\?(?:php)?&#91;\s\S&#93;*?\?>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}

一个简单的HTML标签搞死64位的Windows 7

这个很小的 iframe 标签(当然了,实际上它运行起来并不小)是一个强大到足以让一个64位的Win7系统崩溃的标签,它将导致 Win7 发生著名的蓝屏错误 Blue Screen Of Death (BSoD). 该漏洞是由 w3bd3vil 报告的。该漏洞在64位的Win7下的Safari 浏览器测试中招,我很讨厌蓝屏,因此没有测试其他浏览器。微软正在进一步验证该漏洞,下面是关于该漏洞的一些技术细节:

<iframe height='18082563'></iframe>

注意:请为自己的测试负责.

描述:
该漏洞是由于 win32k.sys 的一个错误导致内存的崩溃,当页面上包含一个 iframe,其 height 属性是个非常大的值时该错误就会发生。

目前该漏洞仅存在于64位的win7系统。

解决方案:
目前尚无有效方案