From eb92819e361cceff0ab391c5d65150e4af639fa9 Mon Sep 17 00:00:00 2001 From: KHobbits Date: Fri, 23 Mar 2012 13:26:03 +0000 Subject: Fix url matching. --- Essentials/src/com/earth2me/essentials/Util.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Essentials/src/com/earth2me/essentials/Util.java b/Essentials/src/com/earth2me/essentials/Util.java index 48eb770b2..510ab8a9a 100644 --- a/Essentials/src/com/earth2me/essentials/Util.java +++ b/Essentials/src/com/earth2me/essentials/Util.java @@ -495,7 +495,7 @@ public class Util } return buf.toString(); } - private static transient final Pattern URL_PATTERN = Pattern.compile("^((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)$"); + private static transient final Pattern URL_PATTERN = Pattern.compile("((?:(?:https?)://)?[\\w-_\\.]{2,})\\.([a-z]{2,3}(?:/\\S+)?)"); private static transient final Pattern VANILLA_PATTERN = Pattern.compile("\u00A7+[0-9A-FK-ORa-fk-or]"); private static transient final Pattern REPLACE_PATTERN = Pattern.compile("&([0-9a-fk-or])"); private static transient final Pattern VANILLA_COLOR_PATTERN = Pattern.compile("\u00A7+[0-9A-Fa-f]"); @@ -529,7 +529,12 @@ public class Util { return null; } - return URL_PATTERN.matcher(input).replaceAll("$1 $2"); + String text = URL_PATTERN.matcher(input).replaceAll("$1 $2"); + while (URL_PATTERN.matcher(text).find()) + { + text = URL_PATTERN.matcher(text).replaceAll("$1 $2"); + } + return text; } public static String formatString(final IUser user, final String permBase, final String input) -- cgit v1.2.3