3

我有一个 HTML 字符串,我正在使用 HtmlAgilityPack 来解析 html 字符串。

这是我的 html 字符串

<p class="Normal-P" style="direction: ltr; unicode-bidi: normal;"><span class="Normal-H">sample<br/></span> <span class="Normal-H">texting<br></span></p>

这个 HTML 字符串<br>在两个地方都有标签。所以,我想删除这两个标签......

你能帮我删除<br>我的html字符串中的所有标签吗?

4

2 回答 2

5

这很简单:

  • 将 HTML 片段加载到敏捷包中HtmlDocument
  • 使用xpath 表达式获取所有<br />标签"//br"
  • Remove()使用方法去除上一步得到的标签
  • 检查DocumentNode.OuterHtml属性中的结果

这是代码:

const string htmlFragment =
    @"<p class=""Normal-P"" style=""direction: ltr; unicode-bidi: normal;"">" +
    @"<span class=""Normal-H"">sample<br/></span>" +
    @"<span class=""Normal-H"">texting<br></span></p> ";

var document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(htmlFragment);

foreach (var brTag in document.DocumentNode.SelectNodes("//br"))
    brTag.Remove();

Console.WriteLine(document.DocumentNode.OuterHtml);
于 2012-12-15T11:01:55.990 回答
1
string html = ...;
string html = Regex.Replace(html, "<br>", "", RegexOptions.Singleline);
于 2012-12-15T11:12:23.030 回答