2013-06-01 10 views
9

używam następujące metody rozebrać wszystkie HTML z ciągu znaków:HTMLagilitypack nie usuwa wszystkich znaczników html. Jak mogę skutecznie rozwiązać ten problem?

public static string StripHtmlTags(string html) 
     { 
      if (String.IsNullOrEmpty(html)) return ""; 
      HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
      doc.LoadHtml(html); 
      return doc.DocumentNode.InnerText; 
     } 

ale wydaje się, ignorując tę ​​następujący tag: […]

więc ciąg wraca w zasadzie:

> A hungry thief who stole a rack of pork ribs from a grocery store has 
> been sentenced to spend 50 years in prison. Willie Smith Ward felt the 
> full force of the law after being convicted of the crime in Waco, 
> Texas, on Wednesday. The 43-year-old may feel slightly aggrieved over 
> the severity of the […] 

Jak można Upewniam się, że ten rodzaj tagów zostanie usunięty?

Każdy rodzaj pomocy jest doceniany, dzięki.

+0

'' … nie jest tag HTML. Znacznik ma nawiasy kątowe. To zakodowany byt. – jessehouwing

Odpowiedz

31

Spróbuj HttpUtility.HtmlDecode

public static string StripHtmlTags(string html) 
{ 
    if (String.IsNullOrEmpty(html)) return ""; 
    HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 
    doc.LoadHtml(html); 
    return HttpUtility.HtmlDecode(doc.DocumentNode.InnerText); 
} 

HtmlDecode przekonwertuje […] do […]

+0

Niesamowite, spróbuję dzięki. – Obsivus

+0

Zadziałało idealnie, dziękuję. – Obsivus

+0

Jeśli ci pomógł, rozważ "zaakceptowanie" swojej odpowiedzi. :) –

Powiązane problemy