71 行
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			71 行
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|  | <?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("&", "<", ">", """, "'", "-"), | ||
|  | 							$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 */ |