Existe otra opción, que además nos permite
no diferenciar entre mayúsculas y minúsculas con un 4o parámetro, opcional, puesto a true. Aquí os dejo la función y unos ejemplos de ejecución:
function str_replace(de,a,str,mays) {
var extra='';
if(mays) extra='i';
return eval( "str.replace(/"+de+"/g"+extra+",a)" );
}
var test="Este es un string de prueba";
var testb = str_replace("UN","el",test);
// testb será "Este es un string de prueba"
testb = str_replace("UN","el",test,false);
// testb será "Este es un string de prueba"
testb = str_replace("UN","el",test,true);
// testb será "Este es el string de prueba"