Как посчитать количество вхождений текста в страницу - PullRequest
0 голосов
/ 30 ноября 2011
var textRange = document.body.createTextRange();
  textRange.collapse(true);
  if( textRange.findText(tex)) {
    textRange.execCommand("BackColor", false, "yellow");
}

Приведенный выше код идеально подходит для поиска текста и выделения его в IE, но я хочу внести небольшую поправку, чтобы подсчитать количество вхождений.Как ниже

textRange.findText(tex).WhichMethod()  Should i use to return me count of occurrences. 

1 Ответ

0 голосов
/ 30 ноября 2011

Если вы просто хотите посчитать количество экземпляров определенного шаблона, тогда должно подойти что-то вроде следующего:

function countString(s) {
  var re = new RegExp(s, 'gi');
  var b = document.body;

  // Make an assumption about support for textContent and inerText
  var text = typeof b.textContent == 'string'? b.textContent : b.innerText;
  var matches = text.replace(/\s+/g, ' ').match(re);

  return matches? matches.length : 0;
}
...