2016-12-19 30 views
1

私はすでに長い時間を検索しましたが、私は答えを見つけませんでした。あなたが私を助けることを願っています。だから私は、例えば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投稿1件につき1件の質問がありますので、これはSOのポリシーです。あなたはもっと詳細な質問をすることができますし、今私の解決策で問題が何であるかを今すぐに知ることができます。私はあなたがこのケースで何をすべきか、どのコードがこれを返すのか分かりません。おそらくあなたには子どもがいませんし、あなたはそれを削除しようとしています。 – mybirthname