2017-01-16 110 views
0

我有以下字符串。查找字符串並在末尾添加額外的

This is content 
[divider space="123" anything="123"] 
more content 
[divider space="123"] 
some more text or shortcodes 

挑戰是首先找到字符串[分隔符廣告,然後在同一時間找到]一次]找到添加[/ divider]在最後。所以最終的輸出將變爲:

This is content 
[divider space="123" anything="123"][/divider] 
more content 
[divider space="123"][/divider] 
some more text or shortcodes 

用下面的代碼我可以找到字符串。

str = 'This is content[divider space="123" anything="123"][/divider]more content[divider space="123"][/divider] some more text or shortcodes'; 
str = str.match(divider(.*)]"); 

我怎麼能找到第一個字符串,然後secondstring,之後添加一些[/除法。

回答

0

可以使用replace功能,並通過內部

$("p").html($("p").html().replace(/\[divider ([a-z]+\="\d+"\s?)+\]/g, s => s + "[/divider]"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<p> 
 
This is content 
 
[divider space="123" anything="123"] 
 
more content 
 
[divider space="123"] 
 
some more text or shortcodes 
 
</p>

+0

感謝理查德功能。看起來它會做的工作,但是你可以請檢查我的小提琴不起作用https://jsfiddle.net/5opg7dq4/ – Themer

+0

嗨@Richard漢密爾頓,我發現這個問題,它與正則表達式,第一個問題是如果例如,如果其變量名稱包含大寫字母,如果它的anyThing =「123」它不起作用,其次,如果任何屬性爲空例如任何東西=「」它再次停止工作,你能改變正則表達式,這裏是小提琴:https://jsfiddle.net/5opg7dq4/4/ – Themer

相關問題