从字符串中删除html标记

时间:2017-04-11 12:02:48

标签: c# html asp.net regex

我正在从数据库中读取一个字段并在GridView中显示,在该字段中,它在文本中包含<br/>个标记。所以我试图从代码中删除这些内容,但当我检查e.Row.Cells[index].Text的值时,它不包含<br/>,而是;br/&gt;

所以我尝试创建一个函数,删除以<开头并以>结尾或以&开头并以;结尾的所有子字符串。该代码会移除<>,但仍会显示br/

代码:

index = gv.Columns.HeaderIndex("Message");
if (index > 0)
{
   string message = RemoveHTMLMarkup(e.Row.Cells[index].Text);
   e.Row.Cells[index].Text = message;
}

static string RemoveHTMLMarkup(string text)
{
        return Regex.Replace(Regex.Replace(text, "<.+?>", string.Empty), "&.+?;", string.Empty);
}

如何删除<br/>代码?

2 个答案:

答案 0 :(得分:4)

由于这是一个文字字符串,你(sh | c)只能使用String.Replace()

static string RemoveHTMLNewLines(string text)
{
    return text.Replace("&lt;br/&gt;", string.Empty);
}

如果需要,请替换为Environment.NewLine

答案 1 :(得分:2)

  1. 取消对字符串的授权。
  2. 然后使用正则表达式查找并删除预期的标签。
  3. 或者

    如果您有足够的时间学习和使用,请使用 HtmlAgilityPack 包。

    About HtmlAgilityPack

    Nuget Package Link