Refactor getting description field

pull/3488/head
Alper Ebicoglu 6 years ago
parent e25b844aca
commit d6a0caf16f

@ -69,6 +69,7 @@ namespace Volo.Docs.Pages.Documents.Project
public bool FullSearchEnabled { get; set; }
private const int MaxDescriptionMetaTagLength = 200;
private readonly IDocumentAppService _documentAppService;
private readonly IDocumentToHtmlConverterFactory _documentToHtmlConverterFactory;
private readonly IProjectAppService _projectAppService;
@ -596,14 +597,19 @@ namespace Volo.Docs.Pages.Documents.Project
public string GetDescription()
{
var startIndex = Document.Content.IndexOf("<p>", StringComparison.Ordinal);
var lastIndex = Document.Content.IndexOf("</p>", StringComparison.Ordinal);
var description = Document.Content.Substring(startIndex,lastIndex);
var firstParagraph = new Regex(@"<p>(.*?)</p>");
var match = firstParagraph.Match(Document.Content);
if (!match.Success)
{
return null;
}
var description = HttpUtility.HtmlDecode(match.Value);
Regex rx = new Regex("<[^>]*>");
description = rx.Replace(description, "");
var htmlTagReplacer = new Regex(@"<[^>]*>", RegexOptions.IgnoreCase);
description = htmlTagReplacer.Replace(description, m => string.Empty);
return description.Truncate(200);
return description.Truncate(MaxDescriptionMetaTagLength);
}
}
}

Loading…
Cancel
Save