用JS中的Regex替换句子

时间:2011-11-07 20:00:32

标签: javascript jquery regex replace

我有以下'字典':

var dictionary = {
    "Log in again": "Just do it again",
    "Test phrase": "Lorem ipsum",
    "word": "other word"
}

加载html页面后,我也希望加载这些页面。

以下是完整来源:http://jsfiddle.net/GMJ7y/

现在我正在挣扎:有时候这是一个词,有时它是一个完整的句子。现在我只能用文字来处理它。

有人知道我怎么能做句子吗?

1 个答案:

答案 0 :(得分:4)

以下解决方案具有所需的结果,它也更有效。我只包含相关代码,请参阅实施的链接小提琴。

var generatedReplace = [];         // Create list
for(var key in dictionary) {       // Loop through the dictionary
    var word = key.replace(/([[^$.|?*+(){}])/g, '\\$1');
    generatedReplace.push(word);   // Adds RegExp-string to the list
}
generatedReplace = "\\b(?:" + generatedReplace.join("|") + ")\\b"; //Finish RegExp
generatedReplace = new RegExp(generatedReplace, "g");          // Create RegExp

// Implementation:
$("body *").replaceText(generatedReplace, get_definition );

小提琴:http://jsfiddle.net/GMJ7y/13/