Показать сообщение отдельно
  #9 (permalink)  
Старый 14.08.2012, 10:48
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Тк
Сообщение от woojin Посмотреть сообщение
(всё между тегами {spec} заменяется на другой блок
проще как-то так:
var str='\
<div>текст1\n\
<span>текст2\n\
{spec}\n\
</span>\n\
<p>текст3</p>\n\
<p>текст4</p>\n\
<p>текст5</p>\n\
<span>текст6\n\
{/spec}\n\
</span>\n\
текст7\n\
</div>';

alert(str)
function spec( str ){
	str = str.split(/\{\/?spec\}/);

	str[1] = str[1]
				.replace(/[^<>]+(?=<|$)/g,'')
				.replace(/<(\w+)[^>]*>[\s\S]*<\/\1>/g,'')
	split = str[1].search(/<\w+[^>]*>/)
	return [ 
		str[0] + str[1].substring(0,split),
		str[1].substring(split) + str[2]
	]
}

result = spec(str);
alert(result[0] + '\n{spec}\n{/spec}\n'+result[1])
__________________
29375, 35
Ответить с цитированием