Показать сообщение отдельно
  #11 (permalink)  
Старый 01.06.2022, 17:36
Аспирант
Посмотреть профиль Найти все сообщения от winrar2018
 
Регистрация: 12.02.2018
Сообщений: 34

Сообщение от рони Посмотреть сообщение


<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script>
  window.onload =
      function() {
          var treeWalker = document.createTreeWalker(document.body, NodeFilter.SHOW_TEXT, null, false),
              users = ["Вася", "Юра", "Маша", "Саша"],
              reg = new RegExp(users.join("|"), "ig");
          while (treeWalker.nextNode()) {
              var el = treeWalker.currentNode;
              el.data = el.data.replace(reg, "*****")
          }
      };
  </script>
</head>

<body>
Допустим есть массив слов: (ВАСЯ, ЮРА, МАША, САША)
<div>
    <a>Маша</a>
</div>
<ul>
    <li>Саша</li>
</ul>
<div>
    <a>Маша</a>
</div>
<ul>
    <li>Саша</li>
</ul>
</body>

</html>
Можно сделать так, чтобы этот скрипт срабатывал только при полном совпадении слов?

Сейчас, например, если слово "налог" нужно заменить на "123", и скрипт встречает слово "налог", то все работает нормально.
Но если попадется слово "Аналоги", то в нем произойдет частичная замена и получится "А123и", но это слово заменять не нужно...
Ответить с цитированием