Add function to remove links from article descriptions

This commit is contained in:
2025-05-29 16:51:09 +08:00
parent 3572d1e580
commit a136dafc3a

View File

@@ -16,6 +16,7 @@ func ArticleToDescription(article string, maxLength int) string {
plain := html2text.HTML2Text(string(htmlContent)) plain := html2text.HTML2Text(string(htmlContent))
plain = strings.TrimSpace(plain) plain = strings.TrimSpace(plain)
plain = mergeSpaces(plain) plain = mergeSpaces(plain)
plain = removeLinks(plain)
if len([]rune(plain)) > maxLength { if len([]rune(plain)) > maxLength {
plain = string([]rune(plain)[:(maxLength-3)]) + "..." plain = string([]rune(plain)[:(maxLength-3)]) + "..."
} }
@@ -53,3 +54,14 @@ func mdToHTML(md []byte) []byte {
return markdown.Render(doc, renderer) return markdown.Render(doc, renderer)
} }
func removeLinks(str string) string {
parts := strings.Split(str, " ")
builder := strings.Builder{}
for _, part := range parts {
if !strings.HasPrefix(part, "http://") && !strings.HasPrefix(part, "https://") {
builder.WriteString(part + " ")
}
}
return strings.TrimSpace(builder.String())
}