В Javascript есть метод replace, но заменяет он только первое вхождение искомой строки, а для замены всех вхождений есть странный синтаксис:
str = str.replace('find','replace') // замена только первого вхождения str = str.replace(/find/g,”replace”) // аналог replaceAll или просто привычное поведение функции
Для удобства работы создадим свою функцию replaceAll
Теперь будет заменяться не первое вхождение, а все вхождения искомого в строке поиска.
function replaceAll(txt, replace, with_this) { return txt.replace(new RegExp(replace, 'g'),with_this); }
Теперь вместо:
var str = 'hello world, hello world, hello world'; alert(str.replace('world', 'vasya'));
Используем:
var str = 'hello world, hello world, hello world'; alert(replaceAll(str, 'world', 'vasya'));
Источники:
http://www.apollon.in.ua/blog/343
http://www.it-rem.ru/javascript-replaceall.html