Я разместил это на форумах asp.net, и, похоже, это одно из самых простых решений. Я не гарантирую, что он самый быстрый или самый эффективный, но он довольно надежный.
В .NET вы можете использовать сами объекты HTML Web Control. Все, что вам действительно нужно сделать, это вставить вашу строку во временный объект HTML, такой как DIV, а затем использовать встроенный InnerText, чтобы захватить весь текст, который не содержится в тегах. Ниже приведен простой пример C #:
System.Web.UI.HtmlControls.HtmlGenericControl htmlDiv = new System.Web.UI.HtmlControls.HtmlGenericControl("div");
htmlDiv.InnerHtml = htmlString;
String plainText = htmlDiv.InnerText;