【问题标题】:Replace all instances in string with a variable as the search - JavaScript用变量替换字符串中的所有实例作为搜索 - JavaScript
【发布时间】:2012-12-03 20:51:00
【问题描述】:

我遇到了一个在任何地方都找不到记录的问题,我看到了一个正则表达式方法,但是它使用的是直接字符串而不是变量中的字符串。这是我的代码:

var src = getQueryVariable("srcStr");

            if(src != false){
               $(".entry-content").html($(".entry-content")
              .html().replace(/src/g, "<span style='background-color:#f2e128;'>" 
              + src + "</span>"));

}

这将获取一个 url 变量 (srcStr) 并在 .entry-content 内的文本正文中搜索存储在 var src 中的字符串。

问题代码在这里:replace(/src/g

有解决办法吗?

【问题讨论】:

  • 我可能不明白你在说什么,但是当你看到一个请求字符串的方法时,你可以使用一个存储字符串的变量。

标签: javascript jquery html


【解决方案1】:

您正在搜索字面上是“src”的模式。如果要在模式中使用变量,则需要使用 RegExp 类:

pattern = new RegExp(src, 'g');
$(".entry-content")...html().replace(pattern, replacement);

【讨论】:

  • 这个建议是有缺陷的。不建议从字符串构建正则表达式而不同时说明字符串必须首先被正则表达式引用。
  • 请注意:如果src 字符串包含特殊字符(主要是``),您需要转义该字符
猜你喜欢
  • 2011-09-29
  • 1970-01-01
  • 2021-08-16
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2021-07-18
  • 2014-03-14
相关资源
最近更新 更多