2012-03-29 239 views
1

我有一個文本區域。 我允許輸入html標記,因爲可以輸入任何html代碼。將HTML文本轉換爲純文本

現在我要轉換的是HTML代碼,以純文本格式,而無需使用第三方工具......如何能不能做到

目前我做它象下面這樣: -

var desc = Convert.ToString(Html.Raw(Convert.ToString(drJob["Description"]))); 

drJob [ 「Description」]是我從中獲取描述的數據行,並且我想將描述轉換爲純文本。

+0

可能的重複:http://stackoverflow.com/questions/731649/how-can-i-convert-html-to-text-in-c – 2013-05-10 20:13:10

回答

0

您可以簡單地用一個使用正則表達式替換法「< [^>] +>」

1

可以使用System.Text.RegularExpressions.Regex

String desc = Regex.Replace(drJob["Description"].ToString(), @"<[^>]*>", String.Empty); 
0
using System.Text.RegularExpressions; 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string sauce = htm.Text; // htm = your html box 
     Regex myRegex = new Regex(@"(?<=^|>)[^><]+?(?=<|$)", RegexOptions.Compiled); 
     foreach (Match iMatch in myRegex.Matches(sauce)) 
     { 
      txt.AppendText(Environment.NewLine + iMatch.Value); //txt = your destination box 
     } 

    } 

讓我知道如果你需要更多的澄清與空字符串替換HTML標籤。

[編輯:]請注意,這不是一個乾淨的功能,所以添加一行來清理空白空間或換行符。但實際從中間標籤獲取文本應該可以正常工作。如果你想節省空間 - 使用正則表達式,看看這是否適合你。雖然發佈關於正則表達式不清潔的人是正確的,但可能有其他方法;從HTML分離單一類型的標籤時,正則表達式通常更好。 (我用雨量計來解析東西,從來沒有任何問題)