Ka Perla: $text nach URLs durchsuchen und durch <a href...> ersetzen

Liebes Forum,

ich möchte gerne eine Text ($text) nach vorhandenen URLs durchsuchen und durch Link-Tags ersetzen. Mit einem Mix aus „s///“ und „if“ bekomme ich das zwar hin, doch ich halte meine Lösung für nicht besonders elegant – mal ganz abgesehen davon, was es an Rechenleistung bei großen Datenmengen verursachen könnte.

Kennt jemand ein bewährte Script oder eine Modul das mir die Arbeite abnimmt?

Bsp.

Quelle:

blabla bla bla lalalaaa
www.abc.de
http://www.abc.de
http://abc.de
blabla bla bla lalalaaa
abc.de
xyz.abc.de
blabla bla bla lalalaaa
www.abc.de/bsp/info.htm
blabla bla bla lalalaaa

Lösung:

????

Ergebniss:

blabla bla bla lalalaaa
<a href=”http://www.abc.de” target=”_blank”>www.abc.de</a>
<a href=”http://www.abc.de” target=”_blank”>http://www.abc.de</a>
<a href=”http://abc.de” target=”_blank”>http://abc.de</a>
blabla bla bla lalalaaa
<a href=”http://abc.de” target=”_blank”>abc.de</a>
<a href=”http://xyz.abc.de” target=”_blank”>xyz.abc.de</a>
blabla bla bla lalalaaa
<a href=”http://www.abc.de/bsp/info.htm” target=”_blank”>www.abc.de/bsp/info.htm</a>
blabla bla bla lalalaaa

Danke und Gruß
 Ka Perla

  1. HI

    Also, tut mir leid, aber ich kann kein Modul anbieten, aber ich hab mal schnell ein einfaches scipt geschrieben, mit dem es bei mir ganz gut geht:

    #ist nur ein ausschnitt
    if ($text =~ m/(https?://)?(.{3,}.)?(.{2,}).(.{2,})/gi)
    {
    $text = "<a href="$1$2$3.$4">$text</a>";
    print $text;
    }
     Also das hier ist _nicht_ gausführlich getested worden aber ich denke so ungefähr so sollte es klappen.

    mfg