jQuery占位符替换

jQuery占位符替换,jquery,regex,filter,match,placeholder,Jquery,Regex,Filter,Match,Placeholder,假设我的HTML中有两个占位符: [$[SKU001]$] [$[SKU002]$] 我想1获取SKU001和SKU002,并将它们放入一个数组中,由ajax提交给api 2,用api响应获得的图像标记替换这两个占位符: <img src="SKU001.jpg"> <img src="SKU002.jpg"> 但我无法在模式中获得搜索的参数 谢谢。方法不是那样工作的。它用于过滤DOM元素,而不是页面内容 您想做的可能更多的是: var matches = $('bo

假设我的HTML中有两个占位符:

[$[SKU001]$]
[$[SKU002]$]
我想1获取SKU001和SKU002,并将它们放入一个数组中,由ajax提交给api 2,用api响应获得的图像标记替换这两个占位符:

<img src="SKU001.jpg">
<img src="SKU002.jpg">
但我无法在模式中获得搜索的参数

谢谢。

方法不是那样工作的。它用于过滤DOM元素,而不是页面内容

您想做的可能更多的是:

var matches = $('body').text().match(/\[\$\[(.*?)\]\$\]/)
console.log(matches);

太好了!在模式末尾添加a/g,它也可以进行全局搜索。但是如何实现SKU001、SKU002阵列呢?使用实际模式,它只会生成[$[SKU001]$]、[$[SKU002]$]]两个值。在JS的正则表达式中使用g标志时,您只能获得完整的匹配。如果文本的位在开始和结束时总是有[$]和[$],您可以在每个结果上使用Strug.SLICE3,-3来修剪这些位并在中间得到部分。这可能有用。
var matches = $('body').text().match(/\[\$\[(.*?)\]\$\]/)
console.log(matches);