]> git.mxchange.org Git - friendica.git/blobdiff - src/Util/XML.php
Move to XML
[friendica.git] / src / Util / XML.php
index 865c60406b8a8bfb7cc06317f6275f8898e656c1..9a3108ca9894c49fa2dcea38213b7b692ba2617e 100644 (file)
@@ -462,4 +462,43 @@ class XML
 
                return $first_item->attributes;
        }
+
+       /**
+        * escape text ($str) for XML transport
+        * @param string $str
+        * @return string Escaped text.
+        */
+       public static function xmlify($str)
+       {
+               $buffer = htmlspecialchars($str, ENT_QUOTES, "UTF-8");
+               $buffer = trim($buffer);
+
+               return $buffer;
+       }
+
+       /**
+        * undo an xmlify
+        * @param string $s xml escaped text
+        * @return string unescaped text
+        */
+       public static function unxmlify($s)
+       {
+               $ret = htmlspecialchars_decode($s, ENT_QUOTES);
+               return $ret;
+       }
+
+       /**
+        * apply xmlify() to all values of array $val, recursively
+        * @param array $val
+        * @return array
+        */
+       public static function arrayXmlify($val)
+       {
+               if (is_bool($val)) {
+                       return $val?"true":"false";
+               } elseif (is_array($val)) {
+                       return array_map('XML::arrayXmlify', $val);
+               }
+               return self::xmlify((string) $val);
+       }
 }