Egy perl scriptet írok, amiben html filokat akarok feldolgozni.
De meg akadtam!
Nem boldogulok azzal a problémával, hogy ha egy html elem több soros kommentben van azt elvéti a script:
if ( $buf =~ /<!--.*[.*\n*.*]*.*<\/BODY.*[.*\n*.*]*.*-->/i ) {
$buf =~ s/(<!--.*[.*\n*.*]*.*<\/BODY.*[.*\n*.*]*.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif( $buf =~ /<!--.*<\/BODY.*-->/i ) {
$buf =~ s/(<!--.*<\/BODY)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif ( $buf =~ /<\/BODY/i ) {
$buf =~ s/(<\/BODY)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif ( $buf =~ /<!--.*\n*.*<\/HTML.*\n*-->/i ) {
$buf =~ s/(<!--.*\n*.*<\/HTML.*\n*.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
}elsif ( $buf =~ /<!--.*<\/HTML.*-->/i ) {
$buf =~ s/(<!--.*<\/HTML.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif ( $buf =~ /<\/HTML/i) {
$buf =~ s/(<\/HTML)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
}
$f->print($buf);
Az első if blokkot szántam erre a célra de a:
< ! - -
< / body >
- - >
típusú tartalmat elhibázza és a 'Last modified' részt berakja a kommentbe, ami nem jó, mivel ezt a komment elé szeretném beszúrni.
A kikommentezett részt nem akarom megváltoztatni, csak beszúrni elé a 'Last modified'-et.
Mit javasoltok, hogyan csináljam?
Kayapo!
- 1030 megtekintés
Hozzászólások
Na meg is lett a megoldás:
if ( $buf =~ /<!--\s*<\/BODY.*\s*-->/i ) {
$buf =~ s/(<!--\s*<\/BODY.*\s*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif( $buf =~ /<!--.*<\/BODY.*-->/i ) {
$buf =~ s/(<!--.*<\/BODY)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif ( $buf =~ /<\/BODY/i ) {
$buf =~ s/(<\/BODY)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif ( $buf =~ /<!--.*\n*.*<\/HTML.*\n*-->/i ) {
$buf =~ s/(<!--.*\n*.*<\/HTML.*\n*.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
}elsif ( $buf =~ /<!--.*<\/HTML.*-->/i ) {
$buf =~ s/(<!--.*<\/HTML.*-->)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
} elsif ( $buf =~ /<\/HTML/i) {
$buf =~ s/(<\/HTML)/<script type=\"text\/javascript\"> alert(\" Last modified: $modify\");<\/script>$1/i;
}
$f->print($buf);
----
Nyicc-egy-csört?
Esetleg nézd meg itt: http://kayapo.extra.hu/
- A hozzászóláshoz be kell jelentkezni