Hallo, Am Tue, 14 Jun 2005, Mario van der Linde schrieb:
Am Dienstag, 14. Juni 2005 02:34 schrieb David Haller: [...]
Dann versuch's mal so> :
[mehrere Scripte]
Danke für Deine Hilfe, aber wenn ich Deine Scripte richtig verstehe, dann binden diese die externen Stylesheets "nur" im Kopf der HTML-Datei in den <style>...</style> Bereich ein.
Jep.
Das hilft mir aber leider nicht weiter, da ich keinen Zugriff auf den Kopfbereich der HTML-Datei des CMS habe. Letztendlich sieht es so aus, dass ich beliebigen eigenen HTML-Code in eine Tabellenzelle bzw. in einen div-Bereich schreiben kann, mehr nicht. Ich suche also eher etwas, dass mir einen Bereich im Stylsheet in den HTML-Code einbindet, etwa so:
[Stylesheet] .wichtig { border: 3px solid #00ff00; }
[HTML vorher]
\$cssfile, 'help|h' => sub { print usage(); exit(0); } ); sub usage { local $_ = $0; s@.*?([^/]+)$@$1@; return "Usage: $_ [-h] -c CSSFILE FILE...\n"; } sub parse_css() { open(CSS, "<$cssfile") or die "Cannot open file `$cssfile': $!\n"; local $/; local $_ = <CSS>; close(CSS); s/\s+/ /g; s/\s*}\s*/ }\n/g; my @tmp = split(/\n/); foreach(@tmp) { if(/([\w.#:]+)\s*{\s*(.*)\s*}/ ) { $css{$1} = "\"$2\""; } } 1; } die usage() unless defined $cssfile; parse_css(); foreach(@ARGV) { print STDERR "parsing $_\n"; if ($_ ne $oldargv) { my $backup; if ($backupext !~ /\*/) { $backup = $_ . $backupext; } else { ($backup = $backupext) =~ s/\*/$_/g; } if( -e $backup ) { warn "Backupfile `$backup' for `$_' already exists.\n"; print STDERR "Use existing file `$backup'? [Y/n]: "; chomp( my $ans = <STDIN>); if ( lc($ans) ne "y" ) { next; } } else { rename($_, $backup) or die "$!\n"; } open(ARGVOUT, ">$_") or die "$!\n"; select(ARGVOUT); $oldargv = $_; open(HTML, "<$backup") or die "Cannot open file `$backup': $!\n"; while(<HTML>) { chomp; if(/^(.*)<(\w+)(\s+[^>]+)?\s+id="?([^"\s]+)"?(.*)$/) { my $t = $3 || ""; if($css{"$2#$4"}) { $_ = "$1<$2$t style=" . $css{"$2#$4"} . " id=\"$4\" $5"; } elsif ($css{"#$4"}) { $_ = "$1<$2$t style=" . $css{"#$4"} . " id=\"$4\" $5"; } else { print STDERR "Note: style for `$2' id=\"$4\" not found.\n"; } } if( /^(.*)<(\w+)(\s+[^>]*)?\s+class="?([^"\s]+)"?(.*)$/ ) { my $t = $3 || ""; if ($css{"$2.$4"}) { $_ = "$1<$2$t style=" . $css{"$2.$4"} . "$5"; } elsif ($css{".$4"}) { $_ = "$1<$2$t style=" . $css{".$4"} . "$5"; } else { print STDERR "Error: style for `$2' class=\"$3\" not found.\n"; } } if ( /\s+style=/ ) { s/\s+style="([^"]+)"(.*)style="([^"]+)"/ style="$1 $3" $2/g; } print "$_\n"; } close(HTML); close(ARGVOUT); } } 1; ==== HTH, -dnh -- SIG kill(ed)