我在textarea中有以下文字:
<textarea class="content">
[shortcode1 param1=test param2=john]
[shortcode2 param1=test param2=john]
[shortcode1 param1=john param2=exchange]
</textarea>
我想如何更改参数名称,但仅限于其shortcode1
所以这应该是结果:
<textarea class="content">
[shortcode1 newparam1=test newparam2=john]
[shortcode2 param1=test param2=john]
[shortcode1 newparam1=john newparam2=exchange]
</textarea>
我目前以下列方式使用jQuery:
$(".content").text($(".content").text().replace("param1", "newparam1"));
$(".content").text($(".content").text().replace("param2", "newparam2"));
但正如你所看到的,它不仅需要shortcode1的参数,而且需要全部。
有人能帮助我吗? 有没有办法优化jquery部分,因为我有10个这样的替换,我可以将它们组合起来吗?
答案 0 :(得分:1)
在每一行中搜索(使用indexOf)(使用拆分):
var text = $(".content").text().split("]");
for (var i=0, l=text.length; i<l; i++) {
if (text[i].indexOf("shortcode1") >= 0) {
text[i] = text[i].replace("param1", "newparam1").replace("param2", "newparam2");
}
}
$(".content").text( text.join("]") );