Конвертировать текст HTML в обычный текст - PullRequest
1 голос
/ 29 марта 2012

У меня есть текстовая область. Я разрешаю вводить HTML-разметки, так что любой HTML-код может быть введен.

Теперь я хочу преобразовать этот HTML-код в обычный текст без использования сторонних инструментов ... как это можно сделать

В настоящее время я делаю это, как показано ниже: -

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

drJob ["Description"] - это дата, откуда я получаю описание и хочу преобразовать описание в простой текст.

Ответы [ 4 ]

2 голосов
/ 29 марта 2012

Прямого пути из .NET для этого не существует.Вам либо нужно прибегнуть к стороннему инструменту, такому как HtmlAgilePack-, или сделать это в javascript.

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

Для вашей безопасности не используйте регулярные выражения.(http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html)

1 голос
/ 29 марта 2012

Теги html можно заменить пустой строкой, используя System.Text.RegularExpressions.Regex

String desc = Regex.Replace(drJob["Description"].ToString(), @"<[^>]*>", String.Empty);
0 голосов
/ 29 марта 2012
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
        }

    }

Дайте мне знать, если вам нужно больше разъяснений.

[EDIT:] Имейте в виду, что это не чистая функция, поэтому добавьте строку, чтобы очистить пустые места или разрывы строк. Но фактическое получение текста из промежуточных тегов должно работать нормально. Если вы хотите сэкономить место - используйте регулярные выражения и посмотрите, работает ли это для вас. Хотя человек, который писал о регулярности регулярных выражений, не прав, возможны и другие способы; Регулярное выражение обычно лучше при отделении тега одного типа от HTML. (Я использую его для дождемера для разбора вещей и никогда не было проблем)

0 голосов
/ 29 марта 2012

Вы можете просто использовать метод замены, используя регулярное выражение "<[^>] +>"

...