我寫了一個正則表達式,通過在短語中添加跨度來突出顯示文本中的匹配短語。該文本可能包含文本中任何地方的<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>
第二次出現是不突出。這是什麼原因以及如何加強?
你有什麼問題嗎?它不工作還是你要求改進你的代碼? – Rikin
它不工作。可能是什麼原因以及如何加強? –
@ManojSuthar檢查你的問題答案並不清楚。那是你要的嗎? –