fix php5 compatibility
authorAlexandros C. Couloumbis <alex@ozo.com>
Wed, 27 Nov 2019 16:09:58 +0000 (18:09 +0200)
committerAlexandros Couloumbis <alex@ozo.com>
Wed, 27 Nov 2019 17:25:34 +0000 (19:25 +0200)
class/xml/tree/Node.php

index 36b49d8cf300a890bd5776aac7057daa82c1bb92..7fd0058987f4b0545b59ce16e1e91a13c77085d4 100644 (file)
@@ -550,6 +550,7 @@ class XML_Tree_Node {
                            $xml
                           );
 
+       if(function_exists('preg_replace_callback_array')){
        $xml = preg_replace_callback_array(
         [
             "/\&([a-z\d\#]+)\;/i" => function($matches) {
@@ -565,6 +566,20 @@ class XML_Tree_Node {
                 return '&#'.ord($matches[1]).';';
             }
         ], $xml);
+       }
+       else {
+       $xml = preg_replace(array("/\&([a-z\d\#]+)\;/i",
+                 "/\&/",
+                 "/\#\|\|([a-z\d\#]+)\|\|\#/i",
+                 "/([^a-zA-Z\d\s\<\>\&\;\.\:\=\"\-\/\%\?\!\'\(\)\[\]\{\}\$\#\+\,\@_])/e"
+                 ),
+               array("#||\\1||#",
+                 "&amp;",
+                 "'&#'.ord('\\1').';'"
+                 ),
+               $xml
+               );
+       }
 
         return $xml;
     }