Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript JQuery:用html替换字符串中的多个子字符串实例,无错误_Javascript_Jquery_Html_Regex_Replace - Fatal编程技术网

Javascript JQuery:用html替换字符串中的多个子字符串实例,无错误

Javascript JQuery:用html替换字符串中的多个子字符串实例,无错误,javascript,jquery,html,regex,replace,Javascript,Jquery,Html,Regex,Replace,我希望在字符串中找到一个子字符串(从数组中),然后用一个下拉框替换它,该下拉框的标题将与该子字符串相等 该字符串来自用户输入,子字符串是在我的工作代码中从数据库中提取的 我根据DavidTonarini在这个问题上给出的答案: 但是,这只排除了“源于正则表达式的bug和您使用它的方式之间包含的文本: var regEx = new RegExp("(" + searchWord + ")(?!([^<]+)?>)", "gi") 然而,这也不起作用——只会掩盖最初的错误。现在,只要

我希望在字符串中找到一个子字符串(从数组中),然后用一个下拉框替换它,该下拉框的标题将与该子字符串相等

该字符串来自用户输入,子字符串是在我的工作代码中从数据库中提取的

我根据DavidTonarini在这个问题上给出的答案:


但是,这只排除了“源于正则表达式的bug和您使用它的方式之间包含的文本:

var regEx = new RegExp("(" + searchWord + ")(?!([^<]+)?>)", "gi")
然而,这也不起作用——只会掩盖最初的错误。现在,只要任何模式匹配,您就可以退出,这就是为什么如果
“a levels”
匹配,“a levels”甚至不会被搜索的原因

在不完全改变方法工作方式的情况下,这里有一个快速补丁-我只是删除了您使用的
字符串\u
逻辑,并将正则表达式替换为:

var regEx = new RegExp("(\\b" + searchWord + "\\b)(?!<)", "gi");

var regEx=new RegExp(“(\\b”+searchWord+”\\b)(?!谢谢。我已经看过了,并且相信这是正确的,尽管我的测试网络连接有限。我现在就去试试,很快就会更新。我想我只需要练习更多的正则表达式。哇哇哇哇,等等……而不是仅仅使用我的补丁版本的代码,并试图调整它以满足更复杂的要求s、 我强烈建议您按照我的建议重构代码。下面是一个让您走上正确轨道的快速草图:这是一个更接近您所需的版本……对干净编写的代码进行更改要容易得多:)谢谢你,伙计,虽然我不确定这是正确的方向。字符串必须按长度降序替换。这是一个当前已被破坏的尝试。不确定我到底做错了什么,但我认为我需要不同的逻辑来解决此问题:。为了提高清晰度,我在“数据”数组中添加了一个额外的条目。Taki在我上面的解决方案中,我用半行代码实现了您的附加要求;)…我希望我在您使用的a级源代码中得到一些认可哈哈
var regEx = new RegExp("(\\b" + searchWord + "\\b)(?!<)", "gi");