我正在使用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);
}
为什么文本没有突出显示?