Заменить все экземпляры символов в javascript

У меня есть строка

 var str=  'asdf<br>dfsdfs<br>dsfsdf<br>fsfs<br>dfsdf<br>fsdf';

Я хочу заменить <br> на \r, используя

 str.replace(/<br>/g,'\r');

но он заменяет только первую <br>... Любая идея, почему?

Ответ 1

Код должен работать - с флагом /g, он должен заменить все <br> s. Возможно, проблема в другом месте.

Попробуйте следующее:

str = str.replace(/<br>/g, '\n');

'\n', вероятно, более уместен, чем \r - он должен быть глобально распознан как новая строка, а \r не является общим для себя. В Firefox, например, \r не отображается как новая строка.

Ответ 2

Использование:

str.replace(/<br>/gi,'\r');

/g - только для первого совпадения. /gi для глобальной замены