]> jfr.im git - z_archive/KronOS.git/blob - system/helpers/xml_helper.php
Fixing filestructure again
[z_archive/KronOS.git] / system / helpers / xml_helper.php
1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2 /**
3 * CodeIgniter
4 *
5 * An open source application development framework for PHP 5.1.6 or newer
6 *
7 * @package CodeIgniter
8 * @author ExpressionEngine Dev Team
9 * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc.
10 * @license http://codeigniter.com/user_guide/license.html
11 * @link http://codeigniter.com
12 * @since Version 1.0
13 * @filesource
14 */
15
16 // ------------------------------------------------------------------------
17
18 /**
19 * CodeIgniter XML Helpers
20 *
21 * @package CodeIgniter
22 * @subpackage Helpers
23 * @category Helpers
24 * @author ExpressionEngine Dev Team
25 * @link http://codeigniter.com/user_guide/helpers/xml_helper.html
26 */
27
28 // ------------------------------------------------------------------------
29
30 /**
31 * Convert Reserved XML characters to Entities
32 *
33 * @access public
34 * @param string
35 * @return string
36 */
37 if ( ! function_exists('xml_convert'))
38 {
39 function xml_convert($str, $protect_all = FALSE)
40 {
41 $temp = '__TEMP_AMPERSANDS__';
42
43 // Replace entities to temporary markers so that
44 // ampersands won't get messed up
45 $str = preg_replace("/&#(\d+);/", "$temp\\1;", $str);
46
47 if ($protect_all === TRUE)
48 {
49 $str = preg_replace("/&(\w+);/", "$temp\\1;", $str);
50 }
51
52 $str = str_replace(array("&","<",">","\"", "'", "-"),
53 array("&amp;", "&lt;", "&gt;", "&quot;", "&apos;", "&#45;"),
54 $str);
55
56 // Decode the temp markers back to entities
57 $str = preg_replace("/$temp(\d+);/","&#\\1;",$str);
58
59 if ($protect_all === TRUE)
60 {
61 $str = preg_replace("/$temp(\w+);/","&\\1;", $str);
62 }
63
64 return $str;
65 }
66 }
67
68 // ------------------------------------------------------------------------
69
70 /* End of file xml_helper.php */
71 /* Location: ./system/helpers/xml_helper.php */