Thread Perl 5.8: Regex für das Ersetzen bestimmter URL
(4 answers)
Opened by GwenDragon at 2010-11-09 16:56
Das Base-href-Element kann in dem Fall nicht verwendet werden, sonst wäre es ja wunderbar einfach. ;)
Deine Lösung ist mit kleinen Änderungen möglich, dein Regex war zu gierig und die Funktion berücksichtigt nicht wenn schon ein / am Anfang steht. Wieso ich nicht an einen Perlcode im Regex gedacht habe. *doh* Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 my $regex_img = qr{<img([^>]+)?src="([^"]+)?"([^>]+)?>}; $body =~ s#$regex_img#img_parse($1, $2, $3)#igme; my $regex_excl = qr{^(https?|ftp):\/\/}; sub img_parse { my $a = shift; my $img_url = shift; my $b = shift; if($img_url =~ m/$regex_excl/) { return '<img'.$a.'src="'.$img_url.'"' . $b . '>'; } else { $img_url =~ s/^\///; return '<img'.$a.'src="'.$path.'/'.$img_url.'"' . $b . '>'; } } //EDIT: Code geändert wg. falschem Copy&Paste /Zwischenablage spinnt. Danke. Last edited: 2010-11-09 18:46:11 +0100 (CET) |