繁体   English   中英

在C#中验证字符串中的HTML标记

[英]Validating HTML Tags in a String in C#

假设我们有以下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#中的AB

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包装器。 我没有使用它,但它可能是你正在寻找的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM