Tweeper.php: fix converting Instagram data to RSS
authorAntonio Ospite <ao2@ao2.it>
Sun, 14 Jan 2018 18:46:54 +0000 (19:46 +0100)
committerAntonio Ospite <ao2@ao2.it>
Sun, 14 Jan 2018 18:46:54 +0000 (19:46 +0100)
There is one new element in the json data served by Instagram named
"404_as_react", and this makes the conversion from json to XML fail
because names starting with a number are illegal in XML.

Fix the problem by prepending an underscore to the problematic name.

src/Tweeper.php

index 8ac2fe3..d60e43b 100644 (file)
@@ -249,7 +249,10 @@ class Tweeper {
       return NULL;
     }
 
-    return Tweeper::jsonToXml($matches[1], 'instagram');
+    // Filter elements which will result in invalid XML element names.
+    $json = str_replace('404_as_react', '_404_as_react', $matches[1]);
+
+    return Tweeper::jsonToXml($json, 'instagram');
   }
 
   /**