2015-03-03 35 views
0

我有一個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的方式如下:

​​

但正如你所看到的,它不僅需要shortcode1的參數,可以,但所有。

有人可以幫我嗎? 而且是有辦法來優化jQuery的部分,因爲我有這個更換的10和可能,我可以將它們組合起來?

+0

短碼在PHP執行,用JavaScript替換它並沒有真正做任何區別,也不可能。 – adeneo 2015-03-03 12:29:44

+0

我不想更換使用javascript短碼,我想與其他簡碼替換短碼,由JavaScript完成這件事。請參閱上面的代碼... – Zoker 2015-03-03 13:11:01

回答

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("]")); 
+0

此索引是否從「[」到「]」變爲?編輯:嗯我得到了它,它的分裂:) – Zoker 2015-03-03 13:08:36

+0

但它不爲我工作:/ http://jsfiddle.net/Zoker/oc2nof1k/ – Zoker 2015-03-03 13:30:46

+0

@Zoker使用文本[我] = ...:_http:/ /jsfiddle.net/oc2nof1k/1/_ – 2015-03-03 13:47:18