Tweeper.php: a more robust fix for 4b9692a19e06f3cf698d23a3854fd34b9914a32a
authorAntonio Ospite <ao2@ao2.it>
Fri, 23 Feb 2018 15:10:52 +0000 (16:10 +0100)
committerAntonio Ospite <ao2@ao2.it>
Fri, 23 Feb 2018 16:12:39 +0000 (17:12 +0100)
The "qe" element in the json data is the one containing the problematic
element mentioned in commit 4b9692a19e06f3cf698d23a3854fd34b9914a32a and
it may contain multiple elements with problematic names, so just remove
the "qe" element altogether.

src/Tweeper.php

index d60e43b..566decb 100644 (file)
@@ -249,8 +249,11 @@ class Tweeper {
       return NULL;
     }
 
-    // Filter elements which will result in invalid XML element names.
-    $json = str_replace('404_as_react', '_404_as_react', $matches[1]);
+    // The "qe" object contains elements which will result in invalid XML
+    // element names, so remove it.
+    $data = json_decode($matches[1], $assoc = TRUE);
+    unset($data["qe"]);
+    $json = json_encode($data);
 
     return Tweeper::jsonToXml($json, 'instagram');
   }