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