我有以下“字典”:

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


加载html页面后,我也希望它们也加载。

这是完整的源代码:http://jsfiddle.net/GMJ7y/

现在,我正在苦苦挣扎:有时是一个单词,有时是一个完整的句子。现在,我只能使其与文字配合使用。

有人知道我该怎么做吗?

最佳答案

以下解决方案具有理想的结果,并且效率更高。我只包含了相关代码,有关实现请参见链接的小提琴。

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/

09-16 16:50