В PHP есть
str_replace и
ereg_replace, а ту все в один метод объединили, поэтому для агрументов типа string и regexp разное поведение.
Ну если сильно хочется, то можно добавить свой метод:
String.prototype.replaceEx = function (search, flags, replace) {
if (arguments.length == 2) {
replace = flags;
flags = undefined;
}
return this.replace(new RegExp(search, flags), replace);
};
alert("aa bb cc aa".replaceEx("aa$", "ee"));