public static String urlToLink(String urlText) {
		// 匹配的条件选项为结束为空格(半角和全角)、换行符、字符串的结尾或者遇到其他格式的文本
		String regexp = "(((http|ftp|https|file)://)|((?<!((http|ftp|https|file)://))www\\.))" // 以http...或www开头
				+ ".*?" // 中间为任意内容，惰性匹配
				+ "(?=(&nbsp;|\\s|　|<br />|$|[<>]))"; // 结束条件
		Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
		Matcher matcher = pattern.matcher(urlText);
		StringBuffer stringbuffer = new StringBuffer();
		while (matcher.find()) {
			String url = matcher.group().substring(0, 3).equals("www") ? "http://"
					+ matcher.group()
					: matcher.group();
			String tempString = "<a href=\"" + url + "\">" + matcher.group()
					+ "</a>";
			// 这里对tempString中的"\"和"$"进行一次转义，因为下面对它替换的过程中appendReplacement将"\"和"$"作为特殊字符处理
			int tempLength = tempString.length();
			StringBuffer buffer = new StringBuffer();
			for (int i = 0; i < tempLength; ++i) {
				char c = tempString.charAt(i);
				if (c == '\\' || c == '$') {
					buffer.append("\\").append(c);
				} else {
					buffer.append(c);
				}
			}
			tempString = buffer.toString();
			matcher.appendReplacement(stringbuffer, tempString);
		}
		matcher.appendTail(stringbuffer);
		return stringbuffer.toString();
	}