diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2021-04-24 09:07:50 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2021-04-24 09:07:50 +0200 | 
| commit | d7beb4e395ef15481a543ef8f9a6b91be000782c (patch) | |
| tree | 68b5a876dd16b18875378d0fc251e5d4eeceedf4 /lib/DBInfoscreen/Helper | |
| parent | df8d80b50cc092a27a92b37b5b1709c58d883d53 (diff) | |
remove arbitrary HTML tags from HAFAS HIMMessage attribute content4.0.2
Diffstat (limited to 'lib/DBInfoscreen/Helper')
| -rw-r--r-- | lib/DBInfoscreen/Helper/HAFAS.pm | 13 | 
1 files changed, 11 insertions, 2 deletions
| diff --git a/lib/DBInfoscreen/Helper/HAFAS.pm b/lib/DBInfoscreen/Helper/HAFAS.pm index 0a98e73..84e42c3 100644 --- a/lib/DBInfoscreen/Helper/HAFAS.pm +++ b/lib/DBInfoscreen/Helper/HAFAS.pm @@ -126,9 +126,18 @@ sub get_xml_p {  			$body  			  =~ s{<Attribute([^>]+)text="([^"]*)"([^"=]*)""}{<Attribute$1text="$2*$3*"}s; -			# Dito for <HIMMessage [...] lead="[...]<br>[...]">. +			# Dito for <HIMMessage [...] lead="[...]<br>[...]"> +			# (replace line breaks with space)  			while ( $body -				=~ s{<HIMMessage([^>]+)lead="([^"]*)<br/?>([^"=]*)"}{<HIMMessage$1lead="$2 $3"}gs +				=~ s{<HIMMessage([^>]+)lead="([^"]*)<br/?>([^"=]*)"}{<HIMMessage$1lead="$2 $3"}gis +			  ) +			{ +			} + +			# ... and any other HTML tag inside an XML attribute +			# (remove them entirely) +			while ( $body +				=~ s{<HIMMessage([^>]+)lead="([^"]*)<[^>]+>([^"=]*)"}{<HIMMessage$1lead="$2$3"}gis  			  )  			{  			} | 
