簡體   English   中英

刪除HTML字符串中的縮進和格式

[英]remove indentation and formatting in html string

我正在使用下面的代碼片段來獲取控件的html字符串。 此響應具有很多格式字符,例如\\ n,\\ t,\\ r,用於縮進html。 我如何在不影響控件內實際文本格式的情況下刪除它。

public static string RenderControl( Control control )
{           
            string renderedString;

            using ( TextWriter writer = new StringWriter( ) )
            {
                control.RenderControl( new HtmlTextWriter( writer ) );
                renderedString = writer.ToString( );
            }                   

            return renderedString;
}

對於前

如果我看到表控件的響應,它看起來像-

<table>\r\n\t\t<tr>\r\n\t\t         
<td>abc\r\n def</td>...</table>

我需要的輸出是-

<table><tr>         
<td>abc\r\n def</td>...</table>

如果生成的標記是XML兼容的,則可以使用XmlReader甚至XmlDocument實例解析結果,並使用XmlWriter重寫標記,但是將XmlWriterSettings設置為刪除所有不必要的空格。

下面介紹了一種替代(且可能更簡單)的策略:

在XML(和HTML)中,只有單個空格字符很重要,因此您可以通過將生成的標記放入正則表達式替換項中來快速而輕松地進行修復,該正則表達式替換項將刪除所有相鄰的空白字符(即用“”替換“ \\ s \\ s +” -'\\ s'是任何空格字符的.NET正則表達式符號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM