javascript - 用 JS 中的正则表达式替换句子

标签 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/

现在我很挣扎:有时是一个单词,有时是一个完整的句子。现在我只能用文字让它发挥作用。

有人知道我该怎么造句子吗?

最佳答案

以下解决方案具有所需的结果,并且它也更高效。我只包含了相关代码,请参阅链接的 fiddle 以了解实现。

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 );

fiddle :http://jsfiddle.net/GMJ7y/13/

关于javascript - 用 JS 中的正则表达式替换句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041864/

相关文章:

Javascript - Jquery .load() 和 setInterval() 问题

javascript - 无法读取 null 的属性 'focus'

javascript - 与 href =“#” 的链接在与 hammer.js 一起使用时将页面滚动到顶部

javascript - jQuery 按键事件仅适用于末尾带有# 符号的网址

regex - 如何在触发 "unterminated substitute pattern"错误的 bash 脚本中重新组织 sed 正则表达式中的嵌套引号?

javascript - 如何每隔 n 个字符或最近的前一个空格分割字符串

java/javascript 在线读取XML文件

javascript - 触发器 ('click' ) 导致 “Script is running slowly, do you want to stop it?"

python - 是否可以使用正则表达式通过十六进制查找电子邮件地址

python - 限制 re.findall 引用中的字数