feedparser: fix normalize_encoding() not working properly for some encodings

This commit is contained in:
Andrew Dolgov 2016-11-11 14:08:40 +03:00
parent 3bba9c396f
commit 4a5490dc58

View file

@ -18,7 +18,7 @@ class FeedParser {
$encoding = strtolower($matches[2]); $encoding = strtolower($matches[2]);
if (in_array($encoding, mb_list_encodings())) if (in_array($encoding, array_map('strtolower', mb_list_encodings()))) {
$data = mb_convert_encoding($data, 'UTF-8', $encoding); $data = mb_convert_encoding($data, 'UTF-8', $encoding);
$data = preg_replace('/^<\?xml[\t\n\r ].*?\?>/s', $matches[1] . "UTF-8" . $matches[3] , $data); $data = preg_replace('/^<\?xml[\t\n\r ].*?\?>/s', $matches[1] . "UTF-8" . $matches[3] , $data);