From: Antonio Ospite Date: Tue, 28 Dec 2021 22:49:39 +0000 (+0100) Subject: Tweeper.php: fix Invalid Character Error when converting Instagram json to XML X-Git-Url: https://git.ao2.it/tweeper.git/commitdiff_plain/75c303bf7c570748a5564de6e266cc40f75b1697?ds=inline Tweeper.php: fix Invalid Character Error when converting Instagram json to XML Converting Instagram json data to XML was failing with the following message: PHP Fatal error: Uncaught DOMException: Invalid Character Error in /usr/share/php/Symfony/Component/Serializer/Encoder/XmlEncoder.php:445 This was caused by some item starting with a number which resulted in invalid XML element names. Remove the items containing the problematic names from the json data before converting to XML. Also stop handling the "knobs" element which does not seem to be there anymore. --- diff --git a/src/Tweeper.php b/src/Tweeper.php index de1f474..f79bb08 100644 --- a/src/Tweeper.php +++ b/src/Tweeper.php @@ -312,13 +312,11 @@ class Tweeper { $data = json_decode($matches[1], $assoc = TRUE); - // The "qe" object contains elements which will result in invalid XML - // element names, so remove it. + // Remove items that may contain elements which can result in invalid XML + // element names (for example names starting with a number). unset($data["qe"]); - - // The "knobs" object contains elements with undefined namespaces, so - // remove it to silence an error message. - unset($data["knobs"]); + unset($data["knobx"]); + unset($data["to_cache"]); // Stop here in case Instagram redirected to the login page, this can // happen when too many consecutive requests have been made from the same