Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用正则表达式在html中搜索字符串并使用jQuery突出显示?_Jquery_Html_Regex - Fatal编程技术网

如何使用正则表达式在html中搜索字符串并使用jQuery突出显示?

如何使用正则表达式在html中搜索字符串并使用jQuery突出显示?,jquery,html,regex,Jquery,Html,Regex,假设我有一个段落,其中我必须找到两个关键词,如“化学家商店”和“商店” <div id="content"> <p>I have a shop which is known as chemist's shop and I need some medicine for my shop.</p> </div> 我有一家药店,名为药店,我需要一些药来开我的药店。 在上段中 药房将被药房取代 而商店将替换为商店 下面是我的代码 var list= ["

假设我有一个段落,其中我必须找到两个关键词,如“化学家商店”和“商店”

<div id="content"> <p>I have a shop which is known as chemist's shop and I need some medicine for my shop.</p> </div>
我有一家药店,名为药店,我需要一些药来开我的药店。

在上段中 药房将被药房取代商店将替换为商店

下面是我的代码

var list= ["chemist's shop","shop"];
var text= $('#content').html();
var i, len = list.length, reg;
  for (i = 0; i < len; i++) {
     reg = new RegExp("\\b" + list[i] + "\\b", 'gi');
     if (reg.test(text)) {
       text = text.replace(reg, "<a href='#' style='color:red'>"+list[i]+"</a>");
   }
  }
}
var list=[“药店”、“店铺”];
var text=$('#content').html();
变量i,len=list.length,reg;
对于(i=0;i
我想要结果

<div id="content"><p>I have a <a href='#' style='color:red'>store</a> which is known as <a href='#' style='color:red'>pharmacy</a> and I need some medicine for my <a href='#' style='color:red'>store</a>.</p></div>
我有一种叫做的感冒,我需要一些治感冒的药

当我运行代码时,首先识别了chemist's shop,然后将其店铺部分替换为store

我试图获得输出,但未能获得实际结果。 请帮我解决我的问题。非常感谢


提前感谢。

您需要使用要更新的内容创建一个新数组,然后在
文本中。替换
使用新数组的项。
最后,您必须使用jQuery方法
.html()

我已经更新了你的代码。检查工作代码段

var list=[“药店”、“店铺”];
变量列表2=[“药房”、“商店”];
var text=$('#content').html();
变量i,len=list.length,reg;
对于(i=0;i


我有一家名为chemist's shop的商店,我需要一些药店的药品。

文本
应该包含更新的字符串。您没有在DOM中更新它。好的,现在用新的文本替换文本
list[i]
,例如,新的文本
new_value[i]
。我已经更新了代码以获得更多的澄清,以便您重播,但是当我在数组列表中进行更改时,上面的代码不适合,如下var list=[“shop”,“chemistry's shop”,];变量列表2=[“商店”、“药店”];在此情况下,无法搜索“药店”。在此情况下,在您的第一次迭代中,正则表达式首先匹配文本中的
shop
,并且由于
shop
也存在于
chemistry's shop
中,它正在将其更改为store。您需要更改正则表达式,使其与
药店中的店铺不匹配
是的,我需要更改正则表达式。但是我不知道在正则表达式中更改什么。如果您有解决方案或建议任何其他解决方案,请告诉我@哥们!我需要解决我的问题。请帮帮我。谢谢