首页 > 语言 > JavaScript > 正文

javascript之更有效率的字符串替换

2024-05-06 14:17:29
字体:
来源:转载
供稿:网友
首先看看原来是怎么样做的:
代码如下:
function toTXT(str){ 
    str = str.replace(//&/g, "& amp;"); 
    str = str.replace(//>/g, "& gt;"); 
    str = str.replace(//</g, "& lt;"); 
    str = str.replace(//"/g, "& quot;"); 
    str = str.replace(//'/g, "& #39;"); 
    return str; 

[/code
分析:上面的方法是用来替换过滤字符串的HTML代码的,一直认为这样做很没效率,因为要把这个字符串进行5次全文匹配(不是数据库中的全文检索),有没方法只使用一次全文匹配,就可以替换掉不同的字符串为不同的结果呢?

呵呵,终于找到了下面的这个方法:

[code]
function toTXT(str){ 
    var RexStr = //<|/>|/"|/'|/&/g 
    str = str.replace(RexStr, 
        function(MatchStr){ 
            switch(MatchStr){ 
                case "<": 
                    return "& lt;"; 
                    break; 
                case ">": 
                    return "& gt;"; 
                    break; 
                case "/"": 
                    return "& quot;"; 
                    break; 
                case "'": 
                    return "& #39;"; 
                    break; 
                case "&": 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选