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]
<div class="wichtig>...</div>
[HTML nacher]
<div style="border:3px solid #00ff00">...</div>
Warum haste das nicht gleich gesagt? Hast du den Pfad zum CSS und bleibt der gleich? Achtung: das script habe ich nur geringfuegig und mit einer Datei / einem CSS getestet... ==== css2inlinestyles.pl ==== #!/usr/bin/perl -w use strict; use Getopt::Long; my $cssfile = undef; my %css; my $backupext = '.orig'; my $oldargv = ""; GetOptions( 'css|c=s' => $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)