Perl program segítségével hogyan lehet egy HTML file-ben a képek nevét kicserélni egy általam választottra?
Sziasztok! Perl programmal szeretném egy html file-ben a képek nevét kicserélni egy általam választott képre. Keresésig és kiiratásig eljutottam. Többféleképp próbálkoztam,de a html fájlban nem írja át a kép nevét. Mi lehet a gond? Hogyan kellene megváltoztatnom/kibővítenem a kódomat? A kódom:
open (IN,"+< bazar.html") or die "input nem nyithato meg $!/n";
$/="";
$b="";
%atts=();
while (<IN>)
{ while (/<img\s(.+?)>/igs)
{ $b=$1;
while ($b=~/(\w+)\s*=\s*(("|')(.*?)\3|(\w*)\s*)/igs)
{ if (defined $4) { $atts{ lc($1) }=$4; }
else { $atts{ lc($1) }=$2; }
}
$string =~ s/$atts{'src'}/kutya.jpg/g;
print '-' x 15;
print "\nImage: $atts{'src'}\n";
foreach $key ("width", "height", "border", "vspace", "hspace", "align", "alt", "lowsrc")
{ if (exists($atts{$key})) { $atts{$key}=~ s/\s*\n/ /g;
print"$key: $atts{$key}\n";
}
}
%atts=();
}
}
Válaszokat előre is köszönöm!
hmm.
sed-el nem lenne egyszerűbb? (de. :) )
vagy van valami különleges oka ami miatt mindenképp perl nyelven kell megoldani?
"html fájlban nem írja át a kép nevét."
Miért írná át? A html file-t csak olvasod, nem írsz bele semmit. A regexp-el kiszedett mintázatokkal csinálsz dolgokat, de ennyi. Ez a kód nem úgy van megírva, hogy a bemeneti file-t módosítsa.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!