Halihallo <!-- In diesem Forum wird man gerne begrüsst
Eine einfache Liste:
§§ 1, 3, 5, 10-20, 33
Was wäre hier falsch? - bzw. was würde damit nicht unterstützt werden?
Na ja, der Gesetzestext ist ja vorgegeben. Da kommen die unmöglichsten Aufzählungen vor. Ein abschreckendes Beispiel ist § 100c StPO. Die bisherige Lösung stößt auch an weitere Grenzen. Wenn die Aufzählung mehr als 9 Paragraphen enthält, funktioniert die Wiedergabe der Klammerung nicht mehr (ab '\10').
Was meinst du mit Klammerung?
[...]
mal schaun, was wir da machen können...
also, wir haben doch etwa folgendes:
§§ [n], [n] bis [n], [n] bis [n] oder [n] und [n]
also, alles was [n] ist, sind Paragraphen, die "URL-kodiert" werden sollen (gelinkt werden); alles andere soll so bleiben wie's war. Dann könnte ich mir folgendes vorstellen:
my @codes = split(/, /, $reference_line);
# @reference_line ist die genannte §§... linie
# @codes sind dann z. B. '[n]' oder '[n] und [n]'
my @struct;
einlesen und codieren...
foreach my $code (@codes) {
if ($code =~ /[1]+$/) {
push @struct, ['simple_paragraph', $code];
next;
}
my @to_parse = split( / /, $code );
# @to_parse = ('[n]','bis','[n]','oder','[n]','und','[n]');
foreach my $sub_code (@to_parse) {
if ($sub_code =~ /[2]+$/) { # also ein [n]
push @struct, ['simple_paragraph', $sub_code];
} else {
push @struct, ['output_as_text', $sub_code];
}
}
}
und jetzt alles ausgeben...
my $output;
foreach (@struct) {
if ($_->[0] eq 'simple_paragraph') {
# $_->[1] ist nun irgendein [n], das kann hier noch
# weiter bearbeitet werden, eg. Gesetzesbuch auslesen...
$output .= '<a href="...">§$_->[1]</a>';
} else {
$output .= $_->[1];
}
}
1. Hast du noch einige Beispiele (mir ist noch immer nicht ganz klar, wie die Datenstruktur aufgebaut ist; z. B. wie werden Gesetzesbücher mit den Paragraphen in Verbindung gesetzt)?
2. Wo genau hast du Probleme?
3. Was können wir tun, um dir bei deinem Problem zu helfen?
Viele Grüsse
Philipp