chore: unescape html characters
22ac42fa
1 file(s) · +3 −3
| 120 | 120 | if err != nil { |
|
| 121 | 121 | return nil, fmt.Errorf("feed parse failed: %w", err) |
|
| 122 | 122 | } |
|
| 123 | - | result.Title = strings.TrimSpace(feed.Title) |
|
| 123 | + | result.Title = strings.TrimSpace(html.UnescapeString(feed.Title)) |
|
| 124 | 124 | result.SiteURL = firstNonEmpty(feed.Link, firstFeedAltLink(feed)) |
|
| 125 | 125 | for _, item := range feed.Items { |
|
| 126 | 126 | link := strings.TrimSpace(item.Link) |
|
| 127 | 127 | if link == "" { |
|
| 128 | 128 | continue |
|
| 129 | 129 | } |
|
| 130 | - | title := strings.TrimSpace(item.Title) |
|
| 130 | + | title := strings.TrimSpace(html.UnescapeString(item.Title)) |
|
| 131 | 131 | if title == "" { |
|
| 132 | 132 | title = deriveTitleFromHTML(firstNonEmpty(item.Description, item.Content)) |
|
| 133 | 133 | } |
|
| 136 | 136 | } |
|
| 137 | 137 | author := "" |
|
| 138 | 138 | if item.Author != nil { |
|
| 139 | - | author = strings.TrimSpace(item.Author.Name) |
|
| 139 | + | author = strings.TrimSpace(html.UnescapeString(item.Author.Name)) |
|
| 140 | 140 | } |
|
| 141 | 141 | guid := strings.TrimSpace(item.GUID) |
|
| 142 | 142 | if guid == "" { |
|