Der Wortfilter sucht sich gegebene Wörter aus dem Fließtext einer Website heraus und ersetzt diese durch andere. Dabei arbeitet der Filter so, dass er nur Wörter berücksichtigt, die innerhalb des <article>-Tags in einem Textabsatz (<p>) liegen. Außerdem ersetzt er nur Wörter, die nicht in anderen Tags, wie z.B. <a> eingebunden sind. Eine Anwendungsmöglichkeit ist, dass auf gegebene Stichwörter automatisch Links gesetzt werden. Mehr dazu auf der nächsten Seite.
function replaceText(rx, val) {
var article = document.body.getElementsByTagName("ARTICLE")[0];
var allElements = article.getElementsByTagName("P");
for(var i = 0; i < allElements.length; i++) {
var node = allElements[i].children;
for(var j = 0; j < node.length; j++){
if(node !== null && node.nodeType !== 3) {
var src = node.nodeValue.search(rx);
if(src != -1){return;}
}
}
allElements[i].innerHTML = allElements[i].innerHTML.replace(rx, val);
}
}
replaceText(/Stichwort/gi, 'Ersetztes Wort');
Mit der Endung "/gi" werden zusätzliche Parameter festgelegt. "g" steht für global und bedeutet, dass die Suche nach dem ersten Fund nicht abgebrochen wird. "i" steht für case-insensitive und ignoriert Groß- und Kleinschreibung.
Quelle des ursprünglichen Codes: https://www.tutorials.de/threads/wort-auf-der-gesamten-seite-ersetzen.382098/
Abwandlung: smashzap.de