igor@66: our $change_matrix = ' igor@66: um über mit von vom nach zum zur in an auf igor@66: der das des dem den ein einer einem einen eines igor@66: '; igor@66: igor@66: @colors = qw(ccccff 7aedaa ddeecc ffccee); igor@66: igor@66: our %change_matrix; igor@66: our %color; igor@66: our $dropdown_number = 0; igor@66: igor@66: $i = 0; igor@66: for (split /\n/, $change_matrix){ igor@66: next if /^\s*$/; igor@66: my @words = sort(split /\s+/); igor@66: for my $kw (@words) { igor@66: $change_matrix{$kw} = [ "???", @words ]; igor@66: $color{$kw} = $colors[$i%@colors]; igor@66: } igor@66: # uppercase igor@66: for (@words) { igor@66: s/(.)(.*)/\U$1\E$2/; igor@66: } igor@66: for my $kw (@words) { igor@66: $change_matrix{$kw} = [ "???", @words ]; igor@66: $color{$kw} = $colors[$i%@colors]; igor@66: } igor@66: $i += 1; igor@66: }; igor@66: igor@66: for (keys(%change_matrix)) { igor@66: print "$_ => ".join(", ", @{$change_matrix{$_}})."\n"; igor@66: print "$_ => ".$color{$_}."\n"; igor@66: } igor@66: igor@66: sub generate_drop_down($) igor@66: { igor@66: my $name = "dropdown$dropdown_number"; igor@66: $dropdown_number += 1; igor@66: my $word = $_[0]; igor@66: my @variants = @{$change_matrix{$word}}; igor@66: $options = join("", map {""} @variants); igor@66: my $color = $color{$word}; igor@66: if ($color) { igor@66: $color = "background:#$color"; igor@66: } igor@66: my $onchange = "onchange='javascript:myAlert(this.form.$name, \"$word\")'"; igor@66: return "
"; igor@66: } igor@66: sub highlight_word($$) igor@66: { igor@66: my $tag = $_[0]; igor@66: my $text = $_[1]; igor@66: if ($tag=~/^<[aA]/) { igor@66: return $tag.$text; igor@66: } igor@66: my $re = join("|", keys(%change_matrix)); igor@66: #$text =~ s@ ([Aa]uf) @@g; igor@66: $text =~ s@(^|[;> ])($re)(?=([ <]|$))@"$1".generate_drop_down($2)@eg; igor@66: return $tag.$text; igor@66: } igor@66: igor@66: $jquery = ""; igor@66: local $/; igor@66: $text = <>; igor@66: $text =~ s@(