Witam, mam taki kod:
tmpNode.textContent = replaceText(tmpNode[0].textContent);
function replaceText(text) {
var stringObj = new String(text);
stringObj = stringObj.replace(/\040&\040/, "<span style=\"font-size: 80%\"> & </span>");
return stringObj.replace(/\040([ąćęóńłżź\d\w]{1,2}){1}\040/gi, ' $1_');
}
i zamieniam sobie ampersand na mniejszy, jednak na stronie pojawia mi sie kod HTML. Czyli jak miałem:
Cytat
Hi Ann & Monik
To po zmianie widzę:
Cytat
Hi Ann <span style="font-size: 80%"> & </span> Monik
Potrzebuję zmieniać same teksty bez kodu HTML bo w kodzie html czasem występują ampersandy
Poniżej do celów poglądowych cały kod JS
var spans = document.getElementById('rules').getElementsByTagName('span');
function replaceText(text) {
var stringObj = new String(text);
stringObj = stringObj.replace(/\040&\040/, "<span style=\"font-size: 80%\"> & </span>");
return stringObj.replace(/\040([ąćęóńłżź\d\w]{1,2}){1}\040/gi, ' $1_');
}
function replaceTextInDomElements(elements, lvl) {
var elementsLength = elements.length;
var tmpNode = null;
for (var i=0; i< elementsLength; i++) {
tmpNode = elements[i].childNodes;
if (typeof tmpNode[0] != 'undefined' && typeof tmpNode[0].textContent != 'undefined') {
tmpNode[0].textContent = replaceText(tmpNode[0].textContent);
}
if (tmpNode.length > 1) {
replaceTextInDomElements(tmpNode, (lvl+1));
}
}
}
replaceTextInDomElements(spans, 0);