private final static Pattern url_pattern = Pattern.compile(
"http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*)?");
/**
* 自动为文本中的url生成链接
* @param txt
* @param only_oschina
* @return
*/
public static String autoMakeLink(String txt, boolean only_oschina) {
StringBuilder html = new StringBuilder();
int lastIdx = 0;
Matcher matchr = url_pattern.matcher(txt);
while (matchr.find()) {
String str = matchr.group();
html.append(txt.substring(lastIdx, matchr.start()));
if(!only_oschina || StringUtils.containsIgnoreCase(str, "oschina.net"))
html.append(""+str+"");
else
html.append(str);
lastIdx = matchr.end();
}
html.append(txt.substring(lastIdx));
return html.toString();
}
本文介绍了一个方法,用于自动识别并为文本中的URL生成链接,特别关注于在不特定于任何平台的情况下,如何优雅地处理URL并将其转换为可点击的链接。
10万+

被折叠的 条评论
为什么被折叠?



