From 6985e16396cbd549057a86d2cfe458f8963482bb Mon Sep 17 00:00:00 2001 From: markusbloch Date: Wed, 15 Jan 2014 19:35:31 +0000 Subject: [PATCH] YAMAHA_AVR: replace html entities with the original characters git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@4658 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/71_YAMAHA_AVR.pm | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/fhem/FHEM/71_YAMAHA_AVR.pm b/fhem/FHEM/71_YAMAHA_AVR.pm index 446179ccc..1a900f45c 100755 --- a/fhem/FHEM/71_YAMAHA_AVR.pm +++ b/fhem/FHEM/71_YAMAHA_AVR.pm @@ -164,16 +164,16 @@ YAMAHA_AVR_GetStatus($;$) if($infos =~ /.*?(.+?)<\/Artist>.*?<\/Meta_Info>/) { - readingsBulkUpdate($hash, "currentArtist", $1); + readingsBulkUpdate($hash, "currentArtist", YAMAHA_AVR_html2txt($1)); } if($infos =~ /.*?(.+?)<\/Station>.*?<\/Meta_Info>/) { - readingsBulkUpdate($hash, "currentStation", $1); + readingsBulkUpdate($hash, "currentStation", YAMAHA_AVR_html2txt($1)); } elsif($infos =~ /.*?(.+?)<\/Program_Service>.*?<\/Meta_Info>/) { - readingsBulkUpdate($hash, "currentStation", $1); + readingsBulkUpdate($hash, "currentStation", YAMAHA_AVR_html2txt($1)); } if($infos =~ /.*?(.+?)<\/Channel>.*?<\/Meta_Info>/) @@ -183,12 +183,12 @@ YAMAHA_AVR_GetStatus($;$) if($infos =~ /.*?(.+?)<\/Album>.*?<\/Meta_Info>/) { - readingsBulkUpdate($hash, "currentAlbum", $1); + readingsBulkUpdate($hash, "currentAlbum", YAMAHA_AVR_html2txt($1)); } if($infos =~ /.*?(.+?)<\/Song>.*?<\/Meta_Info>/) { - readingsBulkUpdate($hash, "currentTitle", $1); + readingsBulkUpdate($hash, "currentTitle", YAMAHA_AVR_html2txt($1)); } if($infos =~ /(.+?)<\/Playback_Info>/) @@ -995,8 +995,7 @@ sub YAMAHA_AVR_getInputs($) } ############################# -sub -YAMAHA_AVR_ResetTimer($;$) +sub YAMAHA_AVR_ResetTimer($;$) { my ($hash, $interval) = @_; @@ -1017,6 +1016,26 @@ YAMAHA_AVR_ResetTimer($;$) } +sub YAMAHA_AVR_html2txt($) +{ + + my ($string) = @_; + + $string =~ s/ / /g; + $string =~ s/&/&/g; + $string =~ s/(\xe4|ä)/ä/g; + $string =~ s/(\xc4|Ä)/Ä/g; + $string =~ s/(\xf6|ö)/ö/g; + $string =~ s/(\xd6|Ö)/Ö/g; + $string =~ s/(\xfc|ü)/ü/g; + $string =~ s/(\xdc|Ü)/Ü/g; + $string =~ s/(\xdf|ß)/ß/g; + $string =~ s/<.+?>//g; + $string =~ s/(^\s+|\s+$)//g; + + return $string; + +} 1; =pod