Показать сообщение отдельно
  #1 (permalink)  
Старый 12.04.2012, 18:57
Профессор
Отправить личное сообщение для bpystep Посмотреть профиль Найти все сообщения от bpystep
 
Регистрация: 06.08.2010
Сообщений: 161

вставка строки в строку
необходимо автоматически добавить в какойто текст(строку), конструкцию(строку) " ...[end] " после n-ого слова (в примере это 5 слово).

допустим есть текст:
aaa bbb ccc ddd
[a url="http://vk.com/bpystep"]123[/a]
[img url='http://cs4578.userapi.com/a_0b40d4e9.jpg' pos='center']

и скрипт:
var list = node.value.split(" "); //node - это обект TextArea
var pos = node.value.indexOf(list[4]);

for (var i=0; i<list.length; i++) {
	if (list[i] == '...[end]') { // проверяет есть ли уже в тексте " ...[end] "
		var flag = true;
	}
}
if (!flag) { // ну и если нет
	var str1 = node.value.substr(0,pos);
	var str2 = node.value.substr(pos);
	node.value = str1+' ...[end] '+str2; // добавляет " ...[end] "
}

проблема в том, что скрипт разбивает как слова(по принципу разделителя "пробел"), так и bb-code и может разбить [a url="http://vk.com/"]123[/a] на "[a" и "url="http://vk.com/"]123[/a]".
Вопрос: как бы нам заставить скрипт понимать bb-code, содержащие проблемы как 1 слово?

Последний раз редактировалось bpystep, 12.04.2012 в 20:13.
Ответить с цитированием