############################################################ # ersetzt Wörter mit automatischen Links (in %ersetzwoerter) ############################################################### sub ersetze_woerter{ my $zeile=shift; local $_=''; my @fertig=(); # hier steht später die fertige Zeile drin... $zeile=~ s/([\[<].*?[>\]])/\n\1\n/g; # Gruppen mit [...] und <...> separat separieren... foreach my $zeiletmp (split(/\n/,$zeile)){ my $firstchar=substr($zeiletmp,0,1); if ($firstchar ne '<' && $firstchar ne '['){ $zeiletmp=~ s/([<>\t \„\«\»\“\!\"\§\$\%\&\/\(\)\=\?\\\`\´\+\*\~\-\_\.\,\:\;\€\µ\#\'\|\{\}])/\n\1\n/gs; push @fertig,split(/\n/,$zeiletmp); } else { push @fertig,$zeiletmp; } } foreach (@fertig){#print "-$_-"; my $firstchar=substr($_,0,1); if ($firstchar ne '<' && $firstchar ne '['){ if ($ersetzwoerter{$_}){ $_=qq~<a href="$ersetzwoerter{$_}" class="linkunterstrichen" title="Informationen zu $_">$_<\/a>~; } } } return join('',@fertig)."\n"; } |
Das ist das Haus vom Nikolaus |
Das\n \nist\n \ndas\n \nHaus\n \nvom\n \nNikolaus |
Das ist das Haus vom Nikolaus |