Показать сообщение отдельно
  #1 (permalink)  
Старый 14.11.2012, 01:41
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

replace заменяет только первое вхождение
Здравствуйте!
var text = $("[name='"+NameInput+"']").val();
	var result1 = text.replace("[b]", "<b>").replace("[/b]", "</b>");
	var result2 = result1.replace("[i]", "<i>").replace("[/i]", "</i>");
	var result3 = result2.replace("[u]", "<u>").replace("[/u]", "</u>");
	var result4 = result3.replace("[big]", "<big>").replace("[/big]", "</big>");
	var result5 = result4.replace("[small]", "<small>").replace("[/small]", "</small>");
	var result6 = result5.replace("[color red]", "<font color=\"red\">").replace("[/color red]", "</font>");
	var result7 = result6.replace("[img]", "<img style=\"max-width: 200px; max-height: 200px;\" src=\"").replace("[/img]", "\">");
	//retult = result.replace("[/b]", "</b>");
	$("#"+IdDiv).html(result7);

Суть проблеммы в том, что если в тексте есть только один (например [b]), то все нормально, а если несколько, то заменится только первая.
Вот пример:
//Ввели:
[b]Привет мир1![/b]
[i]Привет мир2![/i]
[u]Привет мир3![/u]
//Получили:
<b>Привет мир1!</b>
<i>Привет мир2!</i>
<u>Привет мир3!</u>

-------Все нормально-----
//Ввели:
[b]Привет мир1![/b]
[b]Привет мир2![/b]
[b]Привет мир3![/b]
//Получили:
<b>Привет мир1!</b>
[b]Привет мир2![/b] [b]Привет мир3![/b]
-------Не заменились все кроме первого ------

Как бороться?
Ответить с цитированием