2012-03-29 16 views
1

Ich habe einen Textbereich. Ich erlaube die Eingabe von HTML-Markups, in denen jeder HTML-Code eingegeben werden kann.Konvertieren von HTML-Text in Plain-Text

jetzt mag ich, dass die HTML-Code in Text konvertieren, ohne Drittes Werkzeug ... wie kann es

zur Zeit geschieht ich es wie unten tue: -

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

drJob [ "Description"] ist datarow, von wo ich die Beschreibung abrufe und die Beschreibung in reinen Text umwandeln möchte.

+0

Mögliche Duplikate: http://StackOverflow.com/Questions/731649/How-Can-I-Convert-HTML-to-text-in-C –

Antwort

0

Sie können einfach ein verwenden ersetzen Methode regex „< [^>] +>“

2

Es gibt keinen direkten Weg von .NET kommen, dies zu tun. Sie müssen entweder auf ein Drittanbieter-Tool wie HtmlAgilePack zurückgreifen oder dies in Javascript tun.

document.getElementById('myTextContainer').innerText = document.getElementById('myMarkupContainer').innerText; 

Zu Ihrer Sicherheit, verwenden Sie keine Regex. (http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html)

1

Sie können HTML-Tags mit leeren String mit 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 
     } 

    } 

Lassen Sie mich ersetzen, wenn Sie mehr Klärung bedürfen.

[EDIT:] Beachten Sie, dass dies keine saubere Funktion ist, fügen Sie also eine Zeile hinzu, um leere Leerzeichen oder Zeilenumbrüche zu bereinigen. Aber das tatsächliche Abrufen von Text aus Zwischen-Tags sollte gut funktionieren. Wenn Sie Platz sparen möchten, verwenden Sie Regex und sehen Sie, ob dies für Sie funktioniert. Obwohl die Person, die geschrieben hat, dass Regex nicht sauber ist, Recht hat, könnte es andere Wege geben; Regex ist normalerweise besser, wenn ein einzelner Tag-Typ von HTML getrennt wird. (Ich benutze es für Regenmesser, um Sachen zu analysieren und hatte nie irgendwelche Probleme)