diff --git a/src/main/java/com/commafeed/backend/feeds/FeedUtils.java b/src/main/java/com/commafeed/backend/feeds/FeedUtils.java index ebc01bd7..35913e3c 100644 --- a/src/main/java/com/commafeed/backend/feeds/FeedUtils.java +++ b/src/main/java/com/commafeed/backend/feeds/FeedUtils.java @@ -24,8 +24,9 @@ public class FeedUtils { return encoding; } - public static String handleContent(String content) { + public static String handleContent(String content, String baseUri) { if (StringUtils.isNotBlank(content)) { + baseUri = StringUtils.trimToEmpty(baseUri); Whitelist whitelist = Whitelist.relaxed(); whitelist.addEnforcedAttribute("a", "target", "_blank"); @@ -33,8 +34,9 @@ public class FeedUtils { whitelist.addAttributes("iframe", "src", "height", "width", "allowfullscreen", "frameborder"); - content = Jsoup.clean(content, "", whitelist, - new OutputSettings().escapeMode(EscapeMode.base)); + content = Jsoup.clean(content, baseUri, whitelist, + new OutputSettings().escapeMode(EscapeMode.base) + .prettyPrint(false)); } return content; } diff --git a/src/main/java/com/commafeed/backend/services/FeedUpdateService.java b/src/main/java/com/commafeed/backend/services/FeedUpdateService.java index 4f941aad..f7287680 100644 --- a/src/main/java/com/commafeed/backend/services/FeedUpdateService.java +++ b/src/main/java/com/commafeed/backend/services/FeedUpdateService.java @@ -50,10 +50,13 @@ public class FeedUpdateService { FeedEntry foundEntry = findEntry(existingEntries, entry); if (foundEntry == null) { + String baseUri = feed.getLink(); FeedEntryContent content = entry.getContent(); - content.setContent(FeedUtils.handleContent(content.getContent())); - String title = FeedUtils.handleContent(content.getTitle()); + content.setContent(FeedUtils.handleContent( + content.getContent(), baseUri)); + String title = FeedUtils.handleContent(content.getTitle(), + baseUri); if (title != null) { content.setTitle(title.substring(0, Math.min(2048, title.length())));