K@rl: regulärer Ausdruck gesucht

Beitrag lesen

Hallo,

use strict;
my $x = "Schaut unter http://www.ihreDomain.de nach dem blabla";
$x =~ s!^(.*)http://!http://!;
my $y = $1;
my $z = $x;
$x =~ s/\s+.*$//;
$z =~ s/^\S+//;
print $y.'<a href="'.$x.'">'.$x.'</a>'.$z;
__END__

liefert:
Schaut unter <a href="http://www.ihreDomain.de">http://www.ihreDomain.de</a> nach dem blabla

Christians Ansatz (mit "http://|ftp://|mailto:" etc.) ist natürlich allgemeingültiger. Für Deine konkrete Aufgabenstellung macht der obige Code allerdings genau das, was Du brauchtst (und matcht auch IP-Adressen). Und außerdem: eine Anwendung ist erst dann fertig, wenn Sie umfassend getestet wurde ;)

Ansonsten bin ich mir sicher, daß sich das Ganze auch noch kompakter schreiben läßt. Aber wie sagt Larry immer so schön? TIMTOWTDI.

@Christian:
[a-zA-Z%0-9_] == \w

Grüße
   K@rl