]> wagnertech.de Git - mfinanz.git/blobdiff - SL/HTML/Util.pm
OrderController: Stammdaten editieren als Link im neuen Tab anbieten
[mfinanz.git] / SL / HTML / Util.pm
index c62fd9202e1c32927ebd32c5dc96e34aaca5161c..a54425d837c7b00f5d7370d18748d0aa5177b280 100644 (file)
@@ -7,9 +7,11 @@ use HTML::Parser;
 
 my %stripper;
 my %entities = (
-  'lt'  => '<',
-  'gt'  => '>',
-  'amp' => '&',
+  'lt'   => '<',
+  'gt'   => '>',
+  'amp'  => '&',
+  'nbsp' => ' ',   # should be => "\x{00A0}", but this can lead to problems with
+                   # a non-visible character in csv-exports for example
 );
 
 sub strip {
@@ -25,7 +27,7 @@ sub strip {
   if (!%stripper) {
     %stripper = ( parser => HTML::Parser->new );
 
-    $stripper{parser}->handler(text => sub { $stripper{text} .= $_[1]; });
+    $stripper{parser}->handler(text => sub { $stripper{text} .= ' ' . $_[1]; });
   }
 
   $stripper{text} = '';
@@ -33,6 +35,8 @@ sub strip {
   $stripper{parser}->eof;
 
   $stripper{text} =~ s{\&([^;]+);}{ $entities{$1} || "\&$1;" }eg;
+  $stripper{text} =~ s{^ +| +$}{}g;
+  $stripper{text} =~ s{ {2,}}{ }g;
 
   return delete $stripper{text};
 }