入力を検証したり整頓したりせずに、生成されたhtmlコードをタブイングまたはインデントするC#のツール/ライブラリ/関数はありますか?C#Tabify /インデントHTML
編集:
インデントはTinyMCEを含むがこれらに限定されない、JavaScriptをTextEditorsからのHTMLコードを生成しました。 HtmlTextWriterはありません。有効なXML/XHTML/HTMLコードを期待してはいけません。
要件:
- は前とタグを開いて閉じた後に新しい行を追加します。
- タグ内の内容をインデントします(タブまたは4つのスペース)。
- 長い行(N個の単語を持つ)を複数のインデントされた行に分割します。
- 有効なHTMLではないにもかかわらず入力を変更しないでください。タブ付/インデントと長い行の分割のみ。この時点件まで
、私が持っている:
private string FormatHtml(string input)
{
//Opening tags
Regex r = new Regex("<([a-z]+) *[^/]*?>");
string retVal = string.Empty;
retVal = r.Replace(input, string.Format("$&{0}\t", Environment.NewLine));
//Closing tags
r = new Regex("</[^>]*>");
retVal = r.Replace(retVal, string.Format("{0}$&{0}", Environment.NewLine));
//Self closing tags
r = new Regex("<[^>/]*/>");
retVal = r.Replace(retVal, string.Format("$&{0}", Environment.NewLine));
return retVal;
}
[HtmlTextWriter](http://msdn.microsoft.com/en-us/library/system.web.ui.htmltextwriter.aspx) – jrummell
入力のサンプルと期待される出力のサンプルを提供できますか? –
質問が更新されました。 –