2016-12-19 48 views
1

我已經搜索了很長時間,但我沒有找到答案。我希望你能幫助我。所以,我想刪除一個重複的HTML標籤,例如:刪除一個重複的html標籤只有

我有這樣的文字:<BIG><BIG><BIG>Text</BIG></BIG></BIG>

,如果我按下一個按鈕,它應該是這樣的:<BIG><BIG>Text</BIG></BIG>

我已經嘗試過RegEx但它會刪除所有的HTML標籤。我也找到了HTML Agility Pack,但我不知道該怎麼做。

RegEx我想:

public static string RemoveHTML(string source) 
{ 
return Regex.Replace(source, "<.*?>", string.Empty); 
} 
+0

您能向我顯示您的正則表達式嗎? – Mattasse

+1

http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – janhartmann

回答

1

這裏如何與HtmlAgility包做。 Full example in dotNetFiddle

HtmlDocument doc = new HtmlDocument(); 
doc.LoadHtml("<BIG><BIG><BIG>Text</BIG></BIG></BIG>"); 

var result = doc.DocumentNode.Descendants("BIG").FirstOrDefault(); 

if(result != null) 
{ 
    doc.DocumentNode.RemoveChild(result, true); 
} 

這應該夠了。您正在查找第一個元素並將其從文檔中刪除,但不刪除他的孩子(這是通過RemoveChild中的真實參數完成的)

+0

@nicoh每個帖子問一個問題,這是SO的政策。您可以詢問更詳細的問題,以及現在已經是我的解決方案的問題。我不知道你在這種情況下要做什麼,以及什麼代碼返回這個。可能你沒有任何孩子,你正試圖將其刪除。 – mybirthname