Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检测是否存在不正确的HTML标记并更正它_C#_Html_Regex - Fatal编程技术网

C# 检测是否存在不正确的HTML标记并更正它

C# 检测是否存在不正确的HTML标记并更正它,c#,html,regex,C#,Html,Regex,我在C中有一个程序,它从数据库中获取一些数据。数据可以包含html标记。不幸的是,在某些情况下,最后一个结束html标记缺少“>”字符 有人能帮我找到一个解决方案来检查这个不正确的html实例,然后添加尾随的“>”字符吗 多谢各位 ---编辑--- 我想用这种方法解决这个问题: 检查上次出现的 如果没有,请添加> 但是,我不知道在1)中应该使用什么正则表达式。有人有主意吗。我不太擅长正则表达式 ---编辑--- 以下是我可以获得的一些数据示例: hello <span class=gree

我在
C
中有一个程序,它从数据库中获取一些数据。数据可以包含
html
标记。不幸的是,在某些情况下,最后一个结束html标记缺少“>”字符

有人能帮我找到一个解决方案来检查这个不正确的html实例,然后添加尾随的“>”字符吗

多谢各位

---编辑---

我想用这种方法解决这个问题:

  • 检查上次出现的
  • 如果没有,请添加>
  • 但是,我不知道在1)中应该使用什么正则表达式。有人有主意吗。我不太擅长正则表达式

    ---编辑--- 以下是我可以获得的一些数据示例:

    hello <span class=green>Sean</span> Moore
    
    hello <span><span class="green">Roger</span></span
    
    你好,肖恩·摩尔
    您好,罗杰1)如果数据有一个包含html标记:

    if(Data.StartsWith("<") && !Data.EndsWith(">"))
        Data += ">";
    

    这将检查是否有关闭的html标记,以及最后一个
    之后是否有
    在下一个空格处,或者如果没有空格,则在数据的末尾。

    假设您从数据库中以字符串的形式获取html,在这种情况下,字符串上的
    EndsWith
    方法将完成此任务

    if(!html.EndsWith(">"))
    {
        html += ">";
    }
    

    这是一种快速而肮脏的方法,因此随着代码的增长,您可能会希望远离快速黑客。在这方面,您可能想开始查看类似

    之类的东西,您是否只在最后一个标签上,或者在HTML文本中间(在其他标签上)有丢失的<代码> >代码>?它总是在最后一个标签上。但是,并非所有数据都会出现这种情况。换句话说,某些数据将具有格式正确的HTML标记。其他数据将有一个格式不正确的HTML标记。在这种情况下,它始终是最后一个标记。因此,未关闭的最后一个标记
    看起来总是
    你好Sean Moore。但是,我可以有如下数据:你好Roger@user3172468你的问题不清楚。请提供您可以拥有的不同html的示例。另外,请显示你有什么,当有文本以外的html标记,这是行不通的。更新即将到来。非常感谢您(瑞迪:)
    
    if(!html.EndsWith(">"))
    {
        html += ">";
    }