http:// in Link umwandeln

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

Also ich speicher einen Text in den String msg:

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

Nun möchte ich http://www.test.de umwandeln in einen Hyperlink
http://www.test.de das gleiche auch bei www.test.de.

Gibt es eine Möglichkeit in Java, wenn ja, wie?[/code]
 

Teo

Mitglied
Ups war nicht eingeloggt, nochmal:

Also ich speicher einen Text in den String msg:

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

Nun möchte ich http://www.test.de umwandeln in einen Hyperlink
http://www.test.de das gleiche auch bei www.test.de.

Gibt es eine Möglichkeit in Java, wenn ja, wie?
 
S

SlaterB

Gast
du suchst in dem String nach http://,
fügst davor <a href=" ein,
suchst bis zum nächsten Leerzeichen, kopierst die Adresse,
fügst nach der Adresse "> ein,
dann noch mal die Adresse
und am Ende </a>

könnte nicht einfacher sein ;)
 

Teo

Mitglied
Also das heisst ich muss mit einer while() Schleife arbeiten , indexof() und substring()?

Geht es auch anderster?
 

Jockel

Top Contributor
Du könntest auch mit regulären Ausdrücken arbeiten. Ob das aber einfacher ist, wage ich mal zu bezweifeln.
 

miketech

Bekanntes Mitglied
Hi,

solltest nur aufpassen, dass Du nicht in einer Endlosschleife landest, weil Du ja http:// durch <a href="http:// ersetzt und dann vielleicht irgendwann bei <a href="<a href="http://.... landest.

Gruß

Mike
 

Teo

Mitglied
Hallo,

also hab es jetzt so gemacht:

Code:
  public String link(String msg) {
    String Link = "<a href=\"http://127.0.0.1:8080/redirect?url=";
    if(msg.indexOf(" ") != -1)
       msg = msg.substring(0, msg.indexOf(" ")) + " " + msg.substring(msg.indexOf(" ") + 1, msg.length());
    String s2 = "";
    String s3 = msg;
    s2 = "http://";
    if(msg.toLowerCase().indexOf(s2) != -1)
       msg = "";
    while(s3.toLowerCase().indexOf(s2) != -1) {
      msg = msg + s3.substring(0, s3.toLowerCase().indexOf(s2));
      s3 = s3.substring(s3.toLowerCase().indexOf(s2) + s2.length(), s3.length());
      String s4;
      if(s3.toLowerCase().indexOf(" ") != -1) {
        s4 = s3.substring(0, s3.toLowerCase().indexOf(" "));
        s3 = s3.substring(s3.toLowerCase().indexOf(" ") + 1, s3.length());
      }
      else {
        s4 = s3.substring(0, s3.toLowerCase().length());
        s3 = "";
      }
      msg = msg + Link + "http://" + s4 + "\" target=\"_blank\">" + "http://" + s4 + "</a> ";
    }
    return msg;
  }

Funktionieren tut er nur möchte ich von euch wissen ob manches überflüssig ist oder ob ein Fehler drinne habe.

MFG Teo
 
S

SlaterB

Gast
wieso so viele toLowerCase()-Aufrufe?
kannst du nicht einmal toLowerCase() speichern,
z.B. s3 scheint doch immer toLowerCase() zu sein?

und warum
s3.toLowerCase().indexOf(" ")
oder
s3.toLowerCase().length()

da macht das doch wenig Sinn,

---------

falls das ganze oft/ mit großen Strings durchgeführt wird:
mit StringBuffer statt Strings wirds oft deutlich performanter
 

Teo

Mitglied
Hallo,

hab diesen Codeschnippsel von von einem anderen Programm , aber irgendwie funktioniert es ned so. Habt ihr vieleicht ein anderes Beispiel? Etwas kürzer und übersichtlicher?
 
S

SlaterB

Gast
ich persönlich nicht, helfe dir aber gerne bei konkreten Fragen,

mein wertvoller Tipp daher:
beschreibe deine Probleme mit anderen Worten als 'irgendwie funktioniert es ned so'
 

miketech

Bekanntes Mitglied
Hi nochmal,

was spricht denn eigentlich gegen reguläre Ausdrücke? Hab das hier mal zusammengebaut:

Code:
        public String replace(String toReplace) {
                String regex = "http://(\\w*)";
                String replace = "<a href=\"http://$1\">http://$1</a>";

                return toReplace.replaceAll(regex, replace);
        }

Das ganze läuft so: Es sucht nach Strings mit http://ZEICHENKETTE. Diese ZEICHENKETTE kann in "replace" mit $1 wieder eingesetzt werden.

Gruß

Mike
 

Teo

Mitglied
Das nenn ich mal ziemlich kurz. Danke dir. Muss nur noch den passenden regex dazu finden, oder hast du noch einen passenden regex, denn er ersetzt nur http://www in einen link

lg Teo
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D HTTP Http-Link mittels GUI schreiben Allgemeine Java-Themen 5
F Reason: Missing Constraint: Import-Package: okhttp3.internal.http; version="0.0.0" Allgemeine Java-Themen 0
J Threads HTTP Request (Thread) dauert lange - in Android Allgemeine Java-Themen 3
N HTTP response code: 403 Allgemeine Java-Themen 3
S Servlet, per URLConnection Mit String Http Parameter mitsenden Allgemeine Java-Themen 3
R org.apache.http kompletter Internetausfall Allgemeine Java-Themen 7
S http POST überwachen Allgemeine Java-Themen 2
K http request get Allgemeine Java-Themen 2
B Http fehler Allgemeine Java-Themen 6
C Mail Api http Protokoll? Allgemeine Java-Themen 5
M Windows: Start --> Ausführen --> [url]http://meine.url.com[/url] Allgemeine Java-Themen 3
A Threads zum Verringern der Latenzzeiten bei HTTP GET Request Allgemeine Java-Themen 8
J Http/Https Geschwindigkeit Allgemeine Java-Themen 14
J byte-Array als String übers http schicken Allgemeine Java-Themen 8
K Eigenes Protokoll (abc:[url]http://abc.de[/url]) Allgemeine Java-Themen 2
G http maximale transfer größe? Allgemeine Java-Themen 3
S HTTPUnit Test Fehler: Error on HTTP request: 500 Internal Er Allgemeine Java-Themen 9
S HTTP Connection über einen Proxy Allgemeine Java-Themen 2
J Class to link Java Allgemeine Java-Themen 4
G Maven link outdated Allgemeine Java-Themen 13
S Link element an vorletzte stelle einfügen Allgemeine Java-Themen 2
M redirected link Allgemeine Java-Themen 11
G Datei per Drag and Drop auf den Link öffnen Allgemeine Java-Themen 6
T Youtube Link Allgemeine Java-Themen 4
F.S.WhiTeY JDK installieren Linux: Nach Update link auf Java zerschossen Allgemeine Java-Themen 4
F Parameter im Link /jar-Aufruf Allgemeine Java-Themen 12
kodela aktiver Link in einem Dialog Allgemeine Java-Themen 14
T Link zum Internet Allgemeine Java-Themen 12
M Autostart: Registry oder Link? Allgemeine Java-Themen 6
S regex für einen Link Allgemeine Java-Themen 3
H File Attribut bzw Link erkennen Allgemeine Java-Themen 5
F Link in Applet "verstecken" Allgemeine Java-Themen 3
Nicer Problem mit Link aufruf Allgemeine Java-Themen 6
W Webseite öffnen und Link anklicken Allgemeine Java-Themen 2
P Link in einem ausgewählten Browser öffnen Allgemeine Java-Themen 10
A Überprüfen, ob ein File eine Verknüpfung / Link ist Allgemeine Java-Themen 3
S Link im Browser öffnen Allgemeine Java-Themen 10
S E-Mail-Links: geklickten Link ermitteln Allgemeine Java-Themen 4
S mailto-Link in MessageBox Allgemeine Java-Themen 17
B Browser link aus Java-Applikation öffnen Allgemeine Java-Themen 2
J JSP, Link nur bei erfüllter Bedingung anzeigen Allgemeine Java-Themen 6
J JSP Client LInk einbauen Allgemeine Java-Themen 15
M Link parsen bzw. zerlegen Allgemeine Java-Themen 9
Q || Wie speichert man Dateien wo der Pfad als Link(UNIX)... Allgemeine Java-Themen 11
D Linux Link wird als Ordner interpretiert? Allgemeine Java-Themen 2
S Mauszeiger beim Link! Allgemeine Java-Themen 22
M HTML Link Fehler Allgemeine Java-Themen 5
G Html Link in einem JLabel? Allgemeine Java-Themen 3
G Link zu JCreator oder anderem Tool Allgemeine Java-Themen 2
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
K HTMLEditor HTML Text in Rich Text umwandeln Allgemeine Java-Themen 14
M Rechner dez in Hex umwandeln Allgemeine Java-Themen 5
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
V Datentypen Graphikrechner 2/Strings und Variablen in Doubles umwandeln Allgemeine Java-Themen 6
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
C String in Objektnamen umwandeln Allgemeine Java-Themen 3
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
RalleYTN Unsigned int in signed int umwandeln Allgemeine Java-Themen 8
G GUI-basiertes Java-Program in Command-line Version umwandeln Allgemeine Java-Themen 1
J .jar in .exe Umwandeln Allgemeine Java-Themen 18
JavaWolf165 JsonObject in HashMap umwandeln Allgemeine Java-Themen 16
J Umwandeln von URL zu File und danach kopieren geht nicht Allgemeine Java-Themen 1
L Methoden "Schiffe versenken" Quellcode in Methoden umwandeln Allgemeine Java-Themen 6
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
T Geographische in UTM Koordinaten umwandeln Allgemeine Java-Themen 5
JG12111989 char-Array in int-Array umwandeln Allgemeine Java-Themen 27
D Library/Framework zum Umwandeln von Sound in Notenbilder Allgemeine Java-Themen 1
D AWT Tiff-Datei darstellen bzw in darstellbares Format umwandeln Allgemeine Java-Themen 2
K Applet in JApplet umwandeln Allgemeine Java-Themen 5
N Zahlensysteme umrechnen; Probleme beim Umwandeln Allgemeine Java-Themen 4
M Datum umwandeln. Allgemeine Java-Themen 1
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
P OpenCV mit Java - Bilder in Graustufenbilder umwandeln Allgemeine Java-Themen 2
B Transferable in String/Integer umwandeln Allgemeine Java-Themen 11
J Datentypen String in Float umwandeln und "umbauen"? Allgemeine Java-Themen 5
T Datei Ordner in Binär-Zahlenkette umwandeln Allgemeine Java-Themen 11
B Binaräres Format in Dezimalformat umwandeln u. dabei die Zwischenschritte ausgeben Allgemeine Java-Themen 3
J String-Typ in einen generischen Typ T umwandeln Allgemeine Java-Themen 6
B HTML Tags in Strings umwandeln Allgemeine Java-Themen 4
C Java-Dateien in einheitlichen Zeichensatz umwandeln Allgemeine Java-Themen 10
K Datum+Uhrzeit in Millisekunden (long) umwandeln Allgemeine Java-Themen 7
S Erste Schritte if-Anweisung in for- oder while-schleife umwandeln Allgemeine Java-Themen 3
Q Posgresql String Timestamp Umwandeln Allgemeine Java-Themen 2
H2SO3- String 1.000,00 in double umwandeln Allgemeine Java-Themen 12
J String in int umwandeln Allgemeine Java-Themen 8
S Array in String umwandeln Allgemeine Java-Themen 6
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
X Vector in Intervall-Menge umwandeln Allgemeine Java-Themen 4
S String mit GSON umwandeln Allgemeine Java-Themen 2
P Auslesen serieller Schnittstelle - umwandeln von byteArray Allgemeine Java-Themen 3
D Tabelle umwandeln Allgemeine Java-Themen 12
M String in Html Text umwandeln Allgemeine Java-Themen 2
L String in int umwandeln Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben