2017-08-28 159 views
3

我想爲以下條件編寫正則表達式替換html字符串中的文本

源字符串可能會隨意包含html代碼。應該保留哪些內容,標籤外的所有內容都應該替換爲靜態文本。

function replaceCode(mystring){ 
    var replaceWith = "Hello!!!" ; 
    //do something with mystring here.. 
} 

var string1 = "<span>Title</span> A small note" ; 
var string2 = "Another big note" ; 

alert(replaceCode(string1)) ; 
alert(replaceCode(string2)) ; 

合力字符串必須

//string1 must become 
<span>Title</span> Hello!!! 

//string2 must become 
Hello!!! 
+0

[jQuery:將元素添加到另一個元素之後]的可能重複(https://stackoverflow.com/questions/2244605/jquery-add-element-after-another-element) – Jonathan

+0

如果跨度之外的文本發生更改打個招呼,那你爲什麼需要string2? –

+0

正則表達式根據您使用的語言不同而有不同的風格和語法。你可能想澄清一下上下文。我確實看到你用JavaScript和HTML標記了這個問題,但最好清楚一點。香草JavaScript還是你使用jQuery? – fjoe

回答

0

你可以做以下操作:

var yourString = "<span>Title</span> any text to replace"; 
var yourReplacement = "Hello!"; 

//Split by html tags 
var tokens = yourString.split(/<\w+>\w+<\/\w+>/); 

for (var i = 0; i < tokens.lenght; i++) { 
    yourString = yourString.replace(tokens[i], yourReplacement); 
} 

然而,這可能不是最好的解決辦法,並不會爲嵌套標籤工作,但適合你例子。