现在的位置: 首页 > 综合 > 正文

忽略HTML的替换…

2013年10月03日 ⁄ 综合 ⁄ 共 770字 ⁄ 字号 评论关闭

<script type="text/javascript">
String.prototype.noHTMLReplace = function () {
/*
第一个参数是要替换的内容
第二个参数是替换成的内容
第三个参数是设置替换多个和是否忽略大小写即:i(忽略大小写), g(替换多个)
第四个参数是是否替换标记包含的关键字 Boolean
*/
    var a = arguments, i = 0
        , html = /^<(?:img|br|hr)/i //特殊标记
        , k = a[0].replace(/([/|///+/*/./(/)///[/]/?])/g, "//$1")  //替换特殊字符
        , r = new RegExp('(<(?:"[^"]*"|/'[^/']*/'|[^/'">]+)+>)|' + k, a[2]) //匹配所有标记
        , f = function (input, b) {
            if (a[3] && b && !html.test(b)) i += (b.indexOf("<//") == 0 ? -1 : 1); //设置层
            return (i > 0 && input) || b || a[1];
    };
    return this.replace(r, f);
};

var str = '我们都是中国人,我家我们     <a   href=我们都是中国人   target=_blank >我们都是中国人     </a >我们都有一个家     <img   src= "http://ww.aa.bb "   alt=我们都有一个家   / >我们中国中国我们';
alert(str.noHTMLReplace("我们", "咱们", "gi", true));
alert(str.noHTMLReplace("我们", "咱们", "gi"));
</script>

【上篇】
【下篇】

抱歉!评论已关闭.