3

HTML文字列が1つあり、HTML文字列の解析にHtmlAgilityPackを使用しています。

これは私の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>2つの場所にタグがあります。したがって、両方のタグを削除したいと思います...

<br>HTML文字列内のすべてのタグを削除するのを手伝ってもらえますか...

4

2 に答える 2

5

それは次のように簡単です:

  • HTMLフラグメントをAgilityPackにロードする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 に答える