Replace и функция
Хочу сохранить все блочные элементы в массив, заменить из заглушками, обработать текст и вставить блоки обратно.
Но счётчик не увеличивается. Почему? Я читал что обращение к функции идёт при каждом совпадении. Я хочу вывод: dummy0 and dummy1 Получаю: dummy0 and dummy0
str ="<pre>apple</pre> and <pre>orange</pre>";
blocks = /\<(h[1-6]|pre|div|ul|)\>([\s\S]*?)\<\/\1\>/gi;
i=0;
var tmp_blocks = new Array();
str = str.replace(blocks, storeblocks);
function storeblocks(x) {
tmp_blocks[i] = x;
return "dummy"+i;
i=i++;
}
alert(str);
|
Цитата:
|
ksevelyar,
до увеличения i никогда не доходит ... строка 12 это конец вашей функции Рабочий вариант ...
str ="<pre>apple</pre> and <pre>orange</pre>";
blocks = /\<(h[1-6]|pre|div|ul|)\>([\s\S]*?)\<\/\1\>/gi;
i=0;
var tmp_blocks = new Array();
str = str.replace(blocks, storeblocks);
function storeblocks(x) {
tmp_blocks[i] = x;
return "dummy"+i++;
}
alert(str);
|
рони, а, ну да. Просто такое извращение поразило меня в самое сердце, и остальное я уже не замечал)
|
Цитата:
|
| Часовой пояс GMT +3, время: 09:38. |