0

私は自動提案に取り組んでいます。ここでは、重要な用語を一致させる必要があり、重要な用語が一致した場合はそれを強調表示します。私はこれで完了しましたが、問題は、大文字と小文字を区別しないで探しているマッチング中です。その結果、家を探していて、結果が家である場合、に表示されている間に家になります。Ui のテンプレート エンジンとして口ひげを使用しています。使用されるコードは次のとおりです。

var highLightRegExp = new RegExp(r.q , "ig");
//r.q - is query term.
            // Highlight the query part of the search term
            highlightText : function () {
              return function (text, render) {
                var renderTxt = render(text),
                    decodedText = $("<div/>").html(renderTxt).text();
                return decodedText.replace(highLightRegExp , "<b class='colorFFF'>" + r.q + "</b>");
              };
            }

すべての文字を一致させる方法ですが、表示中は元の大文字にする必要があります。

4

2 に答える 2

0

使用してみてください$&

$& 試合全体のコピーを代用します。

サンプルコード:

decodedText.replace(highLightRegExp , "<b class='colorFFF'>$&</b>");

()または、部分式一致のグループ化に使用した場合は、次を使用し$1ます。

$number グループ番号に一致する部分文字列を置換します。

サンプルコード:

decodedText.replace(highLightRegExp , "<b class='colorFFF'>$1</b>");
于 2013-05-28T06:56:05.700 に答える