CodeIgniter installed
[living-lab-site.git] / system / helpers / xml_helper.php
diff --git a/system/helpers/xml_helper.php b/system/helpers/xml_helper.php
new file mode 100755 (executable)
index 0000000..cdd81ad
--- /dev/null
@@ -0,0 +1,71 @@
+<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+/**
+ * CodeIgniter
+ *
+ * An open source application development framework for PHP 5.1.6 or newer
+ *
+ * @package            CodeIgniter
+ * @author             ExpressionEngine Dev Team
+ * @copyright  Copyright (c) 2008 - 2011, EllisLab, Inc.
+ * @license            http://codeigniter.com/user_guide/license.html
+ * @link               http://codeigniter.com
+ * @since              Version 1.0
+ * @filesource
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * CodeIgniter XML Helpers
+ *
+ * @package            CodeIgniter
+ * @subpackage Helpers
+ * @category   Helpers
+ * @author             ExpressionEngine Dev Team
+ * @link               http://codeigniter.com/user_guide/helpers/xml_helper.html
+ */
+
+// ------------------------------------------------------------------------
+
+/**
+ * Convert Reserved XML characters to Entities
+ *
+ * @access     public
+ * @param      string
+ * @return     string
+ */
+if ( ! function_exists('xml_convert'))
+{
+       function xml_convert($str, $protect_all = FALSE)
+       {
+               $temp = '__TEMP_AMPERSANDS__';
+
+               // Replace entities to temporary markers so that
+               // ampersands won't get messed up
+               $str = preg_replace("/&#(\d+);/", "$temp\\1;", $str);
+
+               if ($protect_all === TRUE)
+               {
+                       $str = preg_replace("/&(\w+);/",  "$temp\\1;", $str);
+               }
+
+               $str = str_replace(array("&","<",">","\"", "'", "-"),
+                                                       array("&amp;", "&lt;", "&gt;", "&quot;", "&apos;", "&#45;"),
+                                                       $str);
+
+               // Decode the temp markers back to entities
+               $str = preg_replace("/$temp(\d+);/","&#\\1;",$str);
+
+               if ($protect_all === TRUE)
+               {
+                       $str = preg_replace("/$temp(\w+);/","&\\1;", $str);
+               }
+
+               return $str;
+       }
+}
+
+// ------------------------------------------------------------------------
+
+/* End of file xml_helper.php */
+/* Location: ./system/helpers/xml_helper.php */
\ No newline at end of file