bifi: Funktion auf Ergebnisse von string.replace anwenden?

Hi,

ich will in einem String nach URLs suchen und diese in HTML-Tags übersetzen. Dabei soll die URL auch noch verkürzt werden. Also z.B.

aus http://www.ichbineinelangeurl.de/ soll folgendes werden:
<a href="http://www.ichbineinelangeurl.de/">http://www.ichbineinel...</a>

Aber natürlich soll nur verkürzt werden, falls die URL zu lang ist.

meine Lösung sieht bisher so aus:

string.replace(/(ftp|http|https|file)://[\S]+(\b|$)/gim, '<a href="$&" target="_blank">$&</a>');

Jetzt will ich also auf den gefundenen String $& noch eine Funktion anwenden. Wie geht das? wenn ich mach:

'<a href="$&" target="_blank">' + custom_function('$&') + '</a>'

dann funktioniert das leider auch nicht.

  1. Hallo!

    Das geht mit

    string.replace(RegExp, function(full, part1, part2, ...) { return result; })  
    
    

    Gruß, LX

    --
    RFC 1925, Satz 2: Egal, wie fest man schiebt, ganz gleich, wie hoch die Priorität ist, man kann die Lichtgeschwindigkeit nicht erhöhen.
    1. Hallo!

      Das geht mit

      string.replace(RegExp, function(full, part1, part2, ...) { return result; })

      
      > Gruß, LX  
        
      Super, danke :)