フレーズの周囲にスパンを追加して、一致するフレーズをテキスト内で強調表示する正規表現を作成しました。テキストには、テキスト内のどこにでも<b>
と</b>
が含まれていて、それを無視して一致させる必要があります。続き は私のコードです:フレーズ一致を強調するJavascript RegEx
var phraseArray = phrase.split(" ");
var phraseRegex = "";
if (phraseArray.length > 1) {
var regexSuffix = '+([/\\s]|<\/b>|<b>)+';
for (var i = 0; i < phraseArray.length; i++) {
phraseRegex += phraseArray[i] + regexSuffix;
if (i == phraseArray.length - 2) {
regexSuffix = "";
}
}
} else {
phraseRegex = phrase;
}
text = text.replace(new RegExp('(' + '([,\\s]|<\/b>|<b>)+' + phraseRegex + '([\\s/,.*]|<\/b>|<b>)+' + ')', 'gi'), '<span class="highlighted"> $1 </span>');
フレーズがAirways Aviation
で、テキストの場合:
次の出力である:エアウェイズ航空の
<span class="highlighting"> <b>Airways Aviation</b>.</span> Airways Aviation .Airways Aviation. fra
> Jet Airways. Jet Airways (A range of talented people make it
> happen every day at<span class="highlighting"> Airways Aviation, .</span>
2回目の出現が強調表示されていません。どのような理由があり、どのように強化することができますか?
あなたの質問は何ですか?それは動作していないか、コードの拡張を求めていますか? – Rikin
動作していません。どのような理由があり、どのように強化することができますか? –
@ManojSutharあなたの質問がはっきりしない答えを確認してください。それはあなたが欲しいものですか? –