Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Замена текста в тексте (https://javascript.ru/forum/misc/16868-zamena-teksta-v-tekste.html)

martinss 26.04.2011 00:10

Замена текста в тексте
 
Здравствуйте, есть скрипт, который после обработки возвращает результат в виде новой измененной страницы. Этот результат находится в переменной msg.

В новом результате (msg) есть контейнеры:
<div id="news77">...
</div>
<div class="serf_delete"></div>


и на исходной странице также есть эти контейнеры.

Нужно как-то заменить внутренности на старой странице содержимым этих контейнеров из страницы которая находится в переменной msg.

msg.indexOf('<div id="news77">');
выводит какую-то чушь..

Кто знает что можно тут применить?

Заранее спасибо.

walik 26.04.2011 02:51

Как вариант:
<html>
<head>
<script type="text/javascript" language="javascript">
function change() {
	var str = '<div id="news77">bla bla bla bla</div>';
	var d = document.createElement('DIV');
	d.innerHTML = str;
	var c = d.childNodes;
	document.getElementById('news77').innerHTML = c[0].innerHTML;
}
</script>
</head>
<body id="body">
<div id="news77">
Текст Текст Текст Текст Текст Текст Текст Текст 
</div>
<input type="button" onclick="change();" value="Заменить" />
</body>
</html>

martinss 26.04.2011 05:26

Так нееет, мне нужно из текстовой переменной которая содержит в себе всю страницу html начиная с тега <html> и заканчивая тегом </html>

как то вырезать кусок текста между
<div id="news77">

и
<div class="serf_delete"></div>


и вставить этот текст на текущей странице между этими же кусками кода.

melky 26.04.2011 15:41

как вариант

.

localStorage['a'] можно будет использовать в скриптах того же домена или поддомена.

т.е. ифрейм тут запускается на testbin.ru, значит,прочитать localStorage['a'] моно и на fucker.testbin.ru, но не на google.ru

если хотите,используйте сессионное хранилище


(function(){ 


   if(localStorage['a']) {

               if(confirm ('Удалить сохранение? -> \n\n'+localStorage.getItem('a')) ) localStorage.removeItem( 'a' )

         return;
 }

var msg = '<div id="news77"> LOREM </div> IPSUM <div class="serf_delete"></div>';

var str = msg.match(/(?:<div id="news77">)(.+)(?:<div class="serf_delete">)/);

//или так localStorage['a'] =  str[1] 

localStorage.setItem('a',str[1] )

alert( 'текст сохранен\n\nзапустите скрипт снова' )

})()



разницы,как работать с ним, наверное,нет

я не заметил еще разницы между

var t = localStorage

t.setItem('a','123')

t.getItem('a')

t.remiveItem('a')



и этим


var t = localStorage  // т.к. localstorage-это объект,то t будет ссылкой, а не копией

t['a'] = '123' // или t.a ?

t['a']  

delete t['a']  // t.a это же свойство?


Часовой пояс GMT +3, время: 03:44.