Если Вы говорите о разделении тега, это является относительно прямым, если Вы не должны волноваться о вещах как <script>
теги. Если все, что необходимо сделать, отобразить текст без тегов, можно выполнить это с регулярным выражением:
<[^>]*>
, Если действительно необходимо взволновать [приблизительно 112] теги и т.п. тогда, Вам будет нужно что-то немного более мощное тогда регулярные выражения, потому что необходимо отследить состояние, omething больше как Контекстно-свободная грамматика (CFG). Althought Вы могли бы быть в состоянии выполнить его с 'Левым к правильному' или нежадному соответствию.
, Если можно использовать регулярные выражения, существует много веб-страниц там с хорошей информацией:
, Если бы Вам нужно более сложное поведение CFG, я предложил бы использовать сторонний инструмент, к сожалению, я не знаю о хорошем для рекомендации.
общедоступный статический строковый StripTags2 (представляют HTML в виде строки) {HTML возврата. Замена (" <"; "<";).Replace (">", ">";);}
этим Вы выходите из всего "<"; и">" в строке. Это то, что Вы хотите?
Зависит от того, что Вы подразумеваете под "HTML". Самый сложный случай был бы полными веб-страницами. Это является также самым легким обработать, так как можно использовать веб-браузер текстового режима. Посмотрите статья Wikipedia перечислять веб-браузеры, включая браузеры текстового режима. Lynx является, вероятно, самым известным, но один из других может быть лучше для Ваших потребностей.
Если у Вас есть данные, которые имеют HTML-тэги, и Вы хотите отобразить их так, чтобы человек видел теги, используйте HttpServerUtility:: HtmlEncode.
, Если у Вас есть данные, которые имеют HTML-тэги в нем и Вы хотите, чтобы пользователь видел представленные теги, затем отобразил текст, как. Если текст представляет всю веб-страницу, используйте IFRAME для него.
, Если у Вас есть данные, которые имеют HTML-тэги и Вы хотите разделить теги и просто отобразить неформатированный текст, использовать регулярное выражение.
HTTPUtility.HTMLEncode()
предназначен для обработки HTML-тэгов кодирования как строк. Это заботится обо всем тяжелом подъеме для Вас. От Документация MSDN :
, Если символы, такие как пробелы и пунктуация передаются в потоке HTTP, они могли бы быть неправильно истолкованы в принимающем конце. Кодирование HTML преобразовывает символы, которые не позволяются в HTML в эквиваленты символьной сущности; декодирование HTML инвертирует кодирование. Например, когда встроено в блок текста, символы
<
и>
, кодируются как<
и>
для передачи HTTP.
HTTPUtility.HTMLEncode()
метод, подробно изложенный здесь :
public static void HtmlEncode(
string s,
TextWriter output
)
Использование:
String TestString = "This is a <Test String>.";
StringWriter writer = new StringWriter();
Server.HtmlEncode(TestString, writer);
String EncodedString = writer.ToString();
Бесплатный и открытый исходный код HtmlAgilityPack содержит в одном из примеров метода, который преобразует HTML в обычный текст.
var plainText = HtmlUtilities.ConvertToPlainText(string html);
Подайте ему строку HTML, например
<b>hello, <i>world!</i></b>
, и вы получите результат в виде простого текста, например:
hello world!