diff options
| -rw-r--r-- | main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java b/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java index b80da6b..36292d0 100644 --- a/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java +++ b/main/src/cgeo/geocaching/connector/oc/OC11XMLParser.java @@ -34,6 +34,8 @@ import java.util.regex.Pattern; public class OC11XMLParser { + private static final String PARAGRAPH_END = "</p>"; + private static final String PARAGRAPH_BEGIN = "<p>"; private static Pattern STRIP_DATE = Pattern.compile("\\+0([0-9]){1}\\:00"); private static class CacheHolder { @@ -522,7 +524,7 @@ public class OC11XMLParser { @Override public void end(String logText) { - logHolder.logEntry.log = logText; + logHolder.logEntry.log = stripMarkup(logText); } }); @@ -534,4 +536,17 @@ public class OC11XMLParser { return null; } } + + /** + * removes unneeded markup + */ + protected static String stripMarkup(String input) { + if (StringUtils.startsWith(input, PARAGRAPH_BEGIN) && StringUtils.endsWith(input, PARAGRAPH_END)) { + String inner = input.substring(PARAGRAPH_BEGIN.length(), input.length() - PARAGRAPH_END.length()); + if (inner.indexOf(PARAGRAPH_BEGIN) < 0) { + return inner; + } + } + return input; + } }
\ No newline at end of file |
