2016-12-19 2 views
1

Ich schon lange gesucht, aber ich fand keine Antwort. Ich hoffe ihr könnt mir helfen. Deshalb möchte ich ein Duplikat HTML-Tag zum Beispiel entfernen:Entfernen Sie eine doppelte HTML-Tag nur

Ich habe einen Text wie folgt aus: <BIG><BIG><BIG>Text</BIG></BIG></BIG>

und wenn ich eine Taste drücken, sollte es so etwas wie dieses: <BIG><BIG>Text</BIG></BIG>

Ich habe bereits versucht RegEx aber es wird alle HTML-Tags löschen. Ich fand auch die HTML Agility Pack, aber ich weiß nicht, wie es geht.

Die RegEx ich versucht:

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

Können Sie mir Ihre Regex zeigen? – Mattasse

+1

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

Antwort

1

Hier ist, wie es mit HtmlAgility Pack zu tun. 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); 
} 

Dies sollte genug sein. Sie finden das erste Element groß und entfernen es aus dem Dokument, ohne seine Kinder zu entfernen (dies geschieht durch einen echten Parameter in RemoveChild)

+0

@nicoh eine Frage per Post stellen dies ist Politik mit SO. Sie können mehr Detailfrage stellen und was genau ist das Problem jetzt schon mit meiner Lösung. Ich weiß nicht, was Sie in diesem Fall tun sollen und welcher Code das zurückgibt. Wahrscheinlich haben Sie keine Kinder und Sie versuchen, es zu entfernen. – mybirthname

Verwandte Themen