Показать сообщение отдельно
  #8 (permalink)  
Старый 08.02.2020, 18:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Dark Souls,
Сообщение от Aetae
Строки попадающие в new RegExp должны быть экранированы.
c экранированием
String.prototype.str_replace_all = function(arRegexp, str) {
function escapeRegExp(string){
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
}
var expr = new RegExp(arRegexp.map(escapeRegExp).join("|"), "gi");
return this.replace(expr, str)
}
alert("one two three for five".str_replace_all(["two", "for"], "|"));
Ответить с цитированием