Javascript 实现PHP中的 str_replace,js替换全部的函数

实现函数

function str_replace(search, replace, subject, count){
     var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if(count){
        this.window[count] = 0;
    }
 
    for(i=0, sl=s.length; i < sl; i++){
        if(s[i] === ''){
            continue;
        }
        for(j=0, fl=f.length; j < fl; j++){
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if(count && s[i] !== temp){
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}

实例一

str_replace('  ',  '.',  'Ghost Manor');

返回值:Ghost.Manor

实例二

str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');

返回值:hemmo, mars

来源

http://www.ldisp.com/a/javascript/2011/js_str_replace.shtml