Javascript 实现PHP中的 str_replace,js替换全部的函数
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