【发布时间】:2015-05-17 03:18:52
【问题描述】:
我有这个函数,可以用相同的关键字替换文本中的给定关键字,但以粗体显示。
function parseKeywords(text){
var replacedText = text,
var keywords = getStoredData("currentCrisisKeywords").split(',');
$(keywords).each(function(i, kw){
var kWord = kw.replace(/^\s+|\s+$/g, "");
replacedText = replacedText.replace(new RegExp(kWord, 'i'), '<b>'+kWord+'</b>');
});
return replacedText;
}
问题是kWord 可能是“这是一个测试”,而替换的字符串是“这是一个测试”。我需要保持原来的格式,而现在用关键字替换它,我不能保持原来的格式。
我试过这种方法,但没有运气:
replacedText = replacedText.replace(new RegExp(kWord, 'i'), "<b>$1</b>");
您是否知道一种通过保持原始格式返回匹配字符串的方法,即使 regExp 搜索不区分大小写?
谢谢
【问题讨论】:
-
你能解释一下
with no luck吗?
标签: javascript regex