【发布时间】:2011-12-22 00:06:24
【问题描述】:
我正在尝试在 java 中制作它,这样如果我输入包含链接的消息,它会自动使用 html 格式化它,以便可以在网页上点击它:P
但是,我编写的代码仅将消息中的第一个“链接”转换为链接,而不是其他链接。
有人可以帮我解决这个问题吗?我没有想法......
我的代码
// URL and Image handling
if (msg.contains("http://")) {
// If url is an image, embed it
if (msg.contains(".jpg") || msg.contains(".png") || msg.contains(".gif")) {
msg = msg.replace(linkz(msg, true), "<img src='" + linkz(msg, true) + "' class='embedded-image' />");
}
// Send link as link in <a> tag
msg = msg.replace(linkz(msg, true), "<a href='" + linkz(msg, true) + "' class='msg-link' target='_blank' title='" + linkz(msg, false) + "'>" + linkz(msg, false) + "</a>");
}
// Check string for links and return the link
public static String linkz(String msg, boolean http) {
String[] args = msg.split("http://");
String[] arg = args[1].split(" ");
if (http == true) {
return "http://" + arg[0];
}
return arg[0];
}
【问题讨论】:
-
另外,请记住,并非所有 URL 都以“http://”开头(除非您是唯一添加内容的人,并且可以保证您将永远记住 http://)。你可以通过一些谷歌搜索找到一些非常好的正则表达式,虽然我从来没有找到一个完美的。
标签: java http url hyperlink href