Показать сообщение отдельно
  #1 (permalink)  
Старый 19.05.2012, 13:32
Интересующийся
Отправить личное сообщение для a1exei Посмотреть профиль Найти все сообщения от a1exei
 
Регистрация: 11.10.2011
Сообщений: 17

Генерация текста с помощью разделителей
Народ, нужна помощь по скрипту срочно!

Есть 2 текстовых поля textarea. В первое вводятся предложения построчно. Если внутри предложения встречается разделитель, то должно получится 2 новых варианта: первый со словом слева от символа разделителя, второй - со словом после. Никак не могу понять как осуществить данный алгоритм, может кто-то знает решение?

Получилось сделать только с одной меткой, т.е. вышло 2 варианта из одного. Пример:

Из
Стоимость товаров||услуг на нашем сайте.
Получил
Стоимость товаров на нашем сайте
Стоимость услуг на нашем сайте


Если же || встречается еще и где-то в другой части предложения, получается какой-то бред. Вобще не могу понять как это сделать, какая логика тут заработает? Вот функции которые обрабатывают текст.

function generate() {
		to.value="";
		var txt=from.value;
		var strings=txt.split(/<br>|\r?\n/);
		var p="(?:\\(([^\\)]*)\\)|([^\\s]+))";
		var pat=new RegExp(p+"\\|\\|"+p,"g");
		var gen_str=[];

	function find(str) {
		var strings=str;
		var replaces={};
		for(var i=0;i<strings.length;i++) {
			var parts=strings[i].match(pat);
			if(parts!==null && parts!==undefined) {
				var string=strings[i];
				for(var k=0;k<parts.length;k++) {
					var splited=parts[k].split('||');
					if(splited!==undefined && splited!==null) {
						replaces[parts[k]]=[i,k,splited];
					}
				}
			} else gen_str.push(strings[i]);
		}
		return replaces;
	}
...

Последний раз редактировалось a1exei, 19.05.2012 в 13:35.
Ответить с цитированием