簡體   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