Тк
Сообщение от 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])