Дримвывер цс4 выдает ошибку в первой строке, если стереть первые три строки, ощибка появляется в десятой, где var b = {
я в jawa 0.01, поэтому сорри если туплю |
function replaceHtml(el, html) { var oldEl = typeof el === "string" ? document.getElementById(el) : el; /*@cc_on oldEl.innerHTML = html; return oldEl; @*/ var newEl = oldEl.cloneNode(false); newEl.innerHTML = html; oldEl.parentNode.replaceChild(newEl, oldEl); return newEl; }; |
Доброго времени суток! Данный код
window.onload=function(){ document.body.innerHTML=document.body.innerHTML.replace(/Лимон/g,'Яблоко'); } отлично подходит для моей задачи, но есть одно "НО". Если в тексте встречается "Лимоны", то в итоге я получаю "Яблокоы". Подскажите, как сделать, чтобы код искал строго указанное слово? Ну а чтобы заменить "Лимоны" на "Яблоки", то, я так понимаю, нужно тиражировать код? |
Цитата:
function replace(string, source, replacer) { var x = source.slice(1).filter(notEmptyString); var ending = "(" + x.join("|") + ")"; if (x.length == 1) ending += "?"; var regExp = new RegExp(source[0] + ending, "g"); return string.replace(regExp, handler); function handler(match, x) { return replacer[0] + replacer[source.indexOf(x || "")]; } function notEmptyString(x) { return x; } } var test = "test Лимон test Лимоны test"; alert( replace(test, ["Лимон", "", "ы"], ["Яблок", "о", "и"]) ); Конечно, можно (и нужно) более элегантно и читаемо сделать, но мне лень - это сходу написано. |
Часовой пояс GMT +3, время: 09:56. |