Jörg: HTML-Datei splitten

Hallo,

kennt jemand ein Tool, um eine große HTML-Datei z.B. an den <h1>- und <h2>-Überschriften in einzelne HTML-Dateien zu splitten?
Dabei müssen die internen Links (a href="#...") so angepasst werden, dass sie weiter funktionieren, d.h. der Dateiname der erzeugten HTML-Datei muss dem Ankername vorangestellt werden.

Vielen Dank im Voraus und viele Grüße
Jörg

  1. Hallo Jörg,

    hm, ich glaube kaum, daß es so ein spezielles Programm gibt. Allerdings kann man das Problem prima in Perl giessen. Etwa so:

    (...)
    my %a; # zuordnung ankernamen <-> dateien
    my $n = 1; # aktueller abschnitt
    open(FILE, "<(dein ausgangsfile)");
    while (<FILE>) {
      $n++ if (/<h1/); # oder was auch immer der trenner fuer die abschnitte sein soll
      $a{$1} = $n if (/<a name="([^"]*)">/);
    }
    seek(FILE, 0, 0); # rueckspulen
    $n = 1;
    open(OUT, ">${n}.html");
    while (<FILE>) {
      if (/<h1/) {
        close(OUT);
        $n++;
        open(OUT, ">${n}.html");
      }
      s/<a href="#([^"]*)">/<a href="${a{$1}}.html">/g; # links fixen
      print OUT $_;
    }
    close(FILE); close(OUT);
    (...)

    Simon