У меня есть HTML-контент, который вводится пользователем с помощью редактора richtext, поэтому он может быть практически любым (кроме тех, которые не должны находиться вне тега body, не беспокоясь о "head" или doctype и т.д.).
Пример этого контента:
<h1>Header 1</h1>
<p>Some text here</p><p>Some more text here</p>
<div align=right><a href="x">A link here</a></div><hr />
<h1>Header 2</h1>
<p>Some text here</p><p>Some more text here</p>
<div align=right><a href="x">A link here</a></div><hr />
Хитрость в том, что мне нужно извлечь только первые 100 символов текста (HTML-теги удалены). Мне также нужно сохранить разрывы строк и не прерывать слова.
Таким образом, вывод для вышеупомянутого будет что-то вроде:
Header 1
Some text here
Some more text here
A link here
Header 2
Some text here
Some
Имеет 98 символов и разрывы строк сохраняются. Что я могу достичь, так это удалить все теги HTML с помощью Regex:
Regex.Replace(htmlStr, "<[^>]*>", "")
Затем обрежьте длину с помощью регулярных выражений:
Regex.Match(textStr, @"^.{1,100}\b").Value
Моя проблема в том, как сохранить разрыв строки? Я получаю вывод как:
Header 1
Some text hereSome more text here
A link here
Header 2
Some text hereSome more text
Заметили предложения? Возможно, кто-то может показать мне некоторые другие способы решения этой проблемы. Спасибо!
Дополнительная информация : Моя цель - сгенерировать простой текстовый синопсис из набора HTML-контента. Угадай, это поможет прояснить эту проблему.