C# 完成HTML标记

C# 完成HTML标记,c#,asp.net,html,regex,C#,Asp.net,Html,Regex,我正在使用字符串生成器方法等构建页面 我有一个场景,我必须保留html,但空间有限,我必须剪切字符串以使其适合 问题是在剪切字符串时,一些HTML标记将有开始标记,但没有结束标记。。。并将导致页面中断 是否具有读取字符串并添加与内容相关的结束标记的功能 这是我目前的职能: public string cutTxtChkItalics(string val, int maxValue, string addToEnd) { string rVal = val; if (val.L

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

我有一个场景,我必须保留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;
}
公共字符串cutTxtChkItalics(字符串val、int-maxValue、字符串addToEnd)
{
字符串rVal=val;
如果(val.Length>=maxValue)
rVal=rVal.Substring(0,maxValue)+addToEnd;
if(rVal.ToLower()包含(“”)&!rVal.ToLower()包含(“”)
rVal+=“”;
if(rVal.ToLower()包含(“”)&!rVal.ToLower()包含(“”)
rVal+=“”;
返回rVal;
}

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

 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);

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

 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);

将字符串改为XML可能更容易。将字符串改为XML可能更容易。谢谢。这很容易!lol.最好提取单独的函数autoclosenend,添加到我的库中。:)干杯,伙计。这很容易!lol.最好提取单独的函数autoclosenend,添加到我的库中。:)干杯