【问题标题】:Completing HTML tags完成 HTML 标签
【发布时间】:2011-10-12 14:19:22
【问题描述】:

我正在使用字符串构建器方法等构建页面。

我有一个场景,我必须保留 html 但空间有限,我必须剪切字符串以使其适合。

问题是,当剪切字符串时,一些 HTML 标签会有开始标签,但没有结束标签......并且会导致页面中断。

是否有读取字符串并添加相对于内容的结束标签的功能。

这是我目前的功能:

public string cutTxtChkItalics(string val, int maxValue, string addToEnd)
{
    string rVal = val;

    if (val.Length >= maxValue)
        rVal = rVal.Substring(0, maxValue) + addToEnd;

    if (rVal.ToLower().Contains("<i>") && !rVal.ToLower().Contains("</i>"))
        rVal += "</i>";
    if (rVal.ToLower().Contains("<em>") && !rVal.ToLower().Contains("</em>"))
        rVal += "</em>";

    return rVal;
}

【问题讨论】:

  • 将字符串修改为 XML 可能更容易。

标签: c# asp.net html regex


【解决方案1】:

您好,您可以使用 Html Agility pack。这是一些代码示例,希望对您有所帮助。 页面内容是有问题的 html 代码,而 SW 是我在其上保存更正的 html 的 stringWriter。

 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc.LoadHtml(pagecontent);
        if (doc == null) ;
        doc.OptionCheckSyntax = true;
        doc.OptionAutoCloseOnEnd = true;
        doc.OptionFixNestedTags = true;
        int errorCount = doc.ParseErrors.Count();
        string output = "";
        doc.Save(SW);

【讨论】:

  • 谢谢老兄。这很容易!哈哈。最好提取单独的函数 AutoCloseOnEnd 添加到我的库中。 :) 干杯
猜你喜欢
  • 2015-03-27
  • 2011-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 1970-01-01
  • 2019-09-20
  • 2019-02-11
相关资源
最近更新 更多