"Text zu Link" + nach erstem alleinstehendem Slash "..." setzen
Mario
- perl
Hallo,
folgendes RegExp
RegExp: /([\w]+://[\w-?&;#~=./@]+[\w/])/i
Ersetz: <a href="$1">$1</a>
macht aus Links in Texten klickbare Links. Wenn die Links jedoch sehr lang sind sieht das Ergebnis nicht gut aus. Darum soll aus
http://www.test.de/leipzig/seite1/user.php&krempelusw_usf_etc
ein
<a href="http://www.test.de/leipzig/user.php&krempelusw_usf_etc">http://www.test.de/...</a>
werden.
D.h. das RegExp soll das Suchmuster noch einmal zerlegen (Und zwar nach dem ersten, alleinstehenden Slash), damit ich:
Ersetz: <a href="$1">$1$2</a>
einsetzen kann.
Kann mir jemand dafür einen Tip geben?
Gruss, Mario
Hi Mario,
probier's mal so:
#!/usr/bin/perl
$a = "http://www.test.de/leipzig/seite1/user.php&krempelusw_usf_etc";
if (length($a) > 20) {
$b=substr($a,0,20)."...";
$a =~ s/([\w]+://[\w-?&;#~=./@]+[\w/])/<a href="$1">$b</a>/i;
}
else {
$a =~ s/([\w]+://[\w-?&;#~=./@]+[\w/])/<a href="$1">$1</a>/i;
}
print "$a\n"
Mit length() ueberpruefst Du die Laenge des Strings.
mit substr(string,start,ende) gibst Du einen Teilstring aus.
Und dieser Teilstring steckt in der Variable $b drin, die dann statt dem langen $a ausgegeben wird.
Gruß
Hans
Hell-O!
D.h. das RegExp soll das Suchmuster noch einmal zerlegen (Und zwar nach dem ersten, alleinstehenden Slash), damit ich <a href="$1">$1$2</a> einsetzen kann.
Eine zweite Klammer sollte helfen. Alternativ wäre der e-Modifier interessant.
Siechfred