Javascript字符串更新/更改不适用于Boyer-Moore-Horspool实现

时间:2019-02-24 17:18:31

标签: javascript html electron highlight boyer-moore

我正在使用Microsoft语音识别服务。我给该服务打了一些音频,并返回了一个字符串。然后我使用的是Boyer-Moore-Horspool将其与某些文本匹配。以上所有方法均有效,但在突出显示匹配文本时出现问题。

在这里我称alg并匹配文本:

    recognizer.recognized = function(s, e){
      startRecognizeOnceAsyncButton.disabled = false;
      needle = (e.result.text).toLowerCase();
      resultInd = BoyerMooreHorspool(needle, 
      (hayStack.textContent).toLowerCase());
      highlightText(resultInd,needle,hayStack);
      //highlightText(resultInd,needle,hayStack);
    };

这是不更新匹配文本的函数:

function highlightText(resultInd,needle,hayStack){
  console.log(resultInd);
  var boldText = document.createTextNode(hayStack.textContent);
  boldText.insertData(resultInd, "<strong>");
  boldText.insertData(8+ resultInd + needle.length, "</strong>");
  hayStack.innerHTML = boldText.textContent;
  console.log(boldText);
 }

为什么文本没有突出显示?

0 个答案:

没有答案