Endziel im Pfad behaltem, rest löschen.
Hellena
- perl
0 Rafael0 Patrick Andrieu0 seth0 Beat
Hallo
Kennt jemand den Code wie ich nur den Namen der Datei am ende in einen weiteren Befehl übergeben kann.
Beispiel:
$pfad= "http://url.de/1/2/3/hallo.jpg";
mit folgenden code bleibt der Anfang bei $pfad also url.de
$pfad =~ s/^http:////i;
$pfad =~ s/^www.//i;
$pfad =~ s//.*$//gi;
mit welchem code bleibt aber nur dass Ende hallo.jpg ?
Vielen Dank für eventuelle Hilfe
Hellena
Ungetestet, aber intuitiv etwas in der Richtung von
$pfad =~ s/^(http://)?(www.)?([\w-]+/)?/gi;
Grüße.
Hallo Hellena!
$pfad =~ s/^http:////i;
Wenn Du Strings durchsuchen möchtest, die bereits Slashs enthalten, sieht es übersichtlicher aus, wenn Du keine Slashs als Delimiter benutzt (denn sonst musst Du wie oben die Slashs im String escapen). Beispiel:
$pfad =~ s!^http://!!i;
$pfad =~ s/^www.//i;
$pfad =~ s//.*$//gi;
»»
Du weißt $ bedeutet, in diesem Fall? Und ein gieriger Platzhalter, der Dir alles bis zum Ende "wegfrisst"? Wenn alles bis zum Stringende durchsucht wird und durch nichts ersetzt wird, was bleibt dann übrig?
Viele Grüße aus Frankfurt/Main,
Patrick
gudn tach!
$pfad= "http://url.de/1/2/3/hallo.jpg";
mit welchem code bleibt aber nur dass Ende hallo.jpg ?
if($pfad=~m~/([^/]+)$~){
my $alles_rechts_vom_letzten_slash = $1;
}else{
print 'moep!',"\n";
}
oder - wenn du die variable $path aendern willst -:
$pfad=~s~^.*/([^/]+)$~$1~;
prost
seth
if($pfad=~m~/([^/]+)$~){
my $alles_rechts_vom_letzten_slash = $1;
}else{
print 'moep!',"\n";
}oder - wenn du die variable $path aendern willst -:
$pfad=~s~^.*/([^/]+)$~$1~;
Was machst du damit?
http://domain.tld/pfad/page.html?1/2/3/4
oder
http://domain.tld/pfad/page.html#fragment
Fragezeichen
gudn tach!
$pfad=~s~^.*/([^/]+)$~$1~;
Was machst du damit?
http://domain.tld/pfad/page.html?1/2/3/4
oder
http://domain.tld/pfad/page.html#fragment
der OP hat deutlich gesagt, dass der dateiname am ende stehe. insofern ist sowas fuer den OP afais uninteressant.
fuer allgemeinere urls kann man auf bestehende module oder kompliziertere regexps zurueckgreifen.
z.b. koennte man den url mit URI::Split bzw. manuell vorverarbeiten.
prost
seth