Url umwandeln in Link

DasLicht

Mitglied
http:// in Hyperlink umwandeln

Hallo,

Also ich speicher einen Text in den String msg:

Code:
String msg;
msg = "Test Test Test Test http://www.test.de Test Test Test www.test.de Test Test";

Nun möchte ich http://www.test.de umwandeln in einen Hyperlink
<a href="http://www.test.de">http://www.test.de</a> das gleiche auch bei http://www.test.de.

Gibt es eine Möglichkeit in Java, wenn ja, wie?
 
Zuletzt bearbeitet:
Wo bzw. wie willst du denn den String anzeigen? Es gibt zB Komponenten in Java, die unterstützen in einem gewissen Maße HTML. Teilweise gibt es auch eigene Hyperlink-Events, daber dazu weiß ich jetzt zu wenig.
 
Dein Ziel ist nicht ganz klar. Gehts dir um die Darstellung eines Weblinks in einer Java-Applikation oder um die Modifikation des String in HTML-Code? Wenn zweiteres zutrifft, lautet das Stichwort "Reguläre Ausdrücke".
 
Hat sich erledigt, mache es so:

Code:
  Pattern p = Pattern.compile("((?:http|ftp):\\S+(?<![.,?!]))");
  Matcher m = p.matcher(s);
 
  StringBuffer sb = new StringBuffer(s.length());
 
  while (m.find())
  {
    if (m.group(1) != null)
    {
      m.appendReplacement(sb, "<a href=\"$1\">$1</a>");
    }
    else
    {
      m.appendReplacement(sb, m.group()); // or "$0"
    }
  }
  m.appendTail(sb);
 
  s = sb.toString();
 
Zuletzt bearbeitet:
Java:
Pattern p = Pattern.compile("((http://|ftp://|www)\\S+(?<![.,?!]))");

Zwar nicht die genialste Lösung, aber funktioniert für deinen Zweck. ;-)
 
Zuletzt bearbeitet:
Das macht nicht dieser reguläre Ausdruck, sondern dein Browser.

Das Protokoll wirst du wohl selbständig einfügen müssen, z.B. mittels

Java:
if (m.group(1).startsWith("www"))
  m.appendReplacement(sb, "<a href=\"http://$1\">$1</a>"); 
else
  m.appendReplacement(sb, "<a href=\"$1\">$1</a>");
 
Zurück