从字符串中删除HTML

本文关键字:HTML 删除 字符串 | 更新日期: 2023-09-27 18:29:44

我正在尝试从RSS提要中清除HTML代码。我不知道如何设置下面的HTML编码。

var rssFeed = XElement.Parse(e.Result);
var currentFeed = this.DataContext as app.ViewModels.FeedViewModel;
var items = from item in rssFeed.Descendants("item")                            
            select new ATP_Tennis_App.ViewModels.FeedItemViewModel()
            {
                Title = item.Element("title").Value,
                DatePublished = DateTime.Parse(item.Element("pubDate").Value),
                Url = item.Element("link").Value,
                Description = item.Element("description").Value
            };
foreach (var item in items)
    currentFeed.Items.Add(item);

从字符串中删除HTML

只需使用以下代码:

var withHtml = "<p>hello <b>there</b></p>";
var withoutHtml = Regex.Replace(withHtml, "<.+?>", string.Empty);

这将清理html,只留下文本,所以"你好"

所以,你可以复制并使用这个功能:

string RemoveHtmlTags(string html) {
    return Regex.Replace(html, "<.+?>", string.Empty);
}

你的代码看起来像这样:

var rssFeed = XElement.Parse(e.Result);
var currentFeed = this.DataContext as app.ViewModels.FeedViewModel;
var items = from item in rssFeed.Descendants("item")                            
            select new ATP_Tennis_App.ViewModels.FeedItemViewModel()
            {
                Title = RemoveHtmlTags(item.Element("title").Value),
                DatePublished = DateTime.Parse(item.Element("pubDate").Value),
                Url = item.Element("link").Value,
                Description = RemoveHtml(item.Element("description").Value)
            };

您可以使用此代码示例,它在我这边上运行良好

public static string RemoveHTMLTags(string value)
    {
        string step1 = Regex.Replace(value, "<[^>]*>", " ");
        string step2 = HttpUtility.HtmlDecode(step1);
        return step2;
    }

我希望,这个代码能帮助你。

使用以下类实用程序:

HttpUtility.HtmlDecode(string);

请不要再引用这个答案了。