在c#中验证字符串中的HTML标签
本文关键字:HTML 标签 验证 字符串 | 更新日期: 2023-09-27 18:09:29
假设我们有以下HTML字符串:
string A = " <table width=325><tr><td width=325>test</td></tr></table>"
string B = " <<table width=325><tr><td width=325>test</td></table>"
如何根据HTML规范在c#中验证A或B ?A应该返回true而B应该返回false
对于这种特殊情况,您可以使用HTML Agility Pack来断言HTML是否格式良好,或者您是否有未打开的标签。
var htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(
"WAVEFORM</u> YES, <u>NEGATIVE AUSCULTATION OF EPIGASTRUM</u> YES,");
foreach (var error in htmlDoc.ParseErrors)
{
// Prints: TagNotOpened
Console.WriteLine(error.Code);
// Prints: Start tag <u> was not found
Console.WriteLine(error.Reason);
}
检查HTML字符串是否有未打开的标签
首先要检查它是否是有效的XML。
顺便说一下,我认为你的两个例子都是不正确的,因为你都遗漏了</tr>
。
http://web.archive.org/web/20110820163031/http://markbeaton.com/SoftwareInfo.aspx?ID=81a0ecd0-c41c-48da-8a39-f10c8aa3f931
Github链接https://github.com/markbeaton/TidyManaged
这个家伙为HTMLTidy写了一个。net包装器。我还没用过,但也许你正在寻找