Редактирую скрипт на поиск и замену\чистку строк текста на странице
сначала задаём что искать и чем менять
window.addEventListener('load', function() {
'use strict';
// create a TreeWalker of all text nodes
var allTextNodes = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT),
// some temp references for performance
tmptxt,
tmpnode,
// compile the RE and cache the replace string, for performance
text1 = /тут длинная строка. слова разделены пробелами/g,
text2 = /тут другая строка. слова разделены пробелами/g,
********************
replaceValue = "другой текст",
ClearText = "";
потом меняем
// iterate through all text nodes
while (allTextNodes.nextNode()) {
tmpnode = allTextNodes.currentNode;
tmptxt = tmpnode.nodeValue;
tmpnode.nodeValue = tmptxt.replace(text1, replaceValue);
tmpnode = allTextNodes.currentNode;
tmptxt = tmpnode.nodeValue;
tmpnode.nodeValue = tmptxt.replace(text2, ClearText );
}
}, false);
оно работает если на страницах text1 и text2 пишутся 1к1. и не работает если вместо пробела
сунуто, но по факту же это тоже пробел.
как обойти?
+ может есть вариант поэлегантней чем повторять
tmpnode = allTextNodes.currentNode;
tmptxt = tmpnode.nodeValue;
?
по факту строк поиска не 2 и не 22, а уже под сотню
так же проблема которую не могу обойти если текст идёт в обычных скобках (
т.е. в тексте используются скобки, а js их на свой счёт принимает.
та же чушь если * в тексте.