Собственно, как сформировать превью новости для отображения в RSS ленте? Есть ли существующие классы для подобных задач? Под новостью я понимаю html-контент, отображаемый на странице. Он может содержать большие картинки, много разного форматирования и пр. Есть ли более или менее красивые подходы для выделения первых, скажем, 500 символов (без учета тэгов) в качестве превью?
Формирование превью новости для RSS
2
Спросил
Новые ответы
2
Чаще всего удаляються все html теги и отрезается текст по нужной длине, но при этом не по середине слова
public string GetPlainText(string html)
{
var rexTag = new Regex("<[^>]*>");
var review = rexTag.Replace(html, " ").Trim();
var rexSpace = new Regex(@"\s+");
return rexSpace.Replace(review, " ").Trim();
}
public string GetPlainText(string html, int size)
{
if (size < 1)
{
throw new ArgumentOutOfRangeException("size", "Parameter cannot be negative or zero");
}
var review = GetPlainText(html);
int i = review.Length;
if (size < i)
{
i = review.LastIndexOf(" ", size);
if (i < 0)
{
i = 0;
}
}
return review.Substring(0, i);
}