Дримвывер цс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, время: 12:57. |