From d827058bb0b1d2b54f7cb0e8343885cedac43334 Mon Sep 17 00:00:00 2001 From: Derek Allard Date: Fri, 15 Jan 2010 17:10:56 +0000 Subject: adding parse_string method adding null values generating an empty cell in table lib --- system/libraries/Parser.php | 51 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 45 insertions(+), 6 deletions(-) (limited to 'system/libraries/Parser.php') diff --git a/system/libraries/Parser.php b/system/libraries/Parser.php index 399b14b2d..56d27e7da 100644 --- a/system/libraries/Parser.php +++ b/system/libraries/Parser.php @@ -29,11 +29,11 @@ class CI_Parser { var $l_delim = '{'; var $r_delim = '}'; var $object; - + /** * Parse a template * - * Parses pseudo-variables contained in the specified template, + * Parses pseudo-variables contained in the specified template view, * replacing them with the data in the second param * * @access public @@ -46,12 +46,50 @@ class CI_Parser { { $CI =& get_instance(); $template = $CI->load->view($template, $data, TRUE); - + + return $this->_parse($template, $data, $return); + } + + // -------------------------------------------------------------------- + + /** + * Parse a String + * + * Parses pseudo-variables contained in the specified string, + * replacing them with the data in the second param + * + * @access public + * @param string + * @param array + * @param bool + * @return string + */ + function parse_string($template, $data, $return = FALSE) + { + return $this->_parse($template, $data, $return); + } + + // -------------------------------------------------------------------- + + /** + * Parse a template + * + * Parses pseudo-variables contained in the specified template, + * replacing them with the data in the second param + * + * @access public + * @param string + * @param array + * @param bool + * @return string + */ + function _parse($template, $data, $return = FALSE) + { if ($template == '') { return FALSE; } - + foreach ($data as $key => $val) { if (is_array($val)) @@ -63,12 +101,13 @@ class CI_Parser { $template = $this->_parse_single($key, (string)$val, $template); } } - + if ($return == FALSE) { + $CI =& get_instance(); $CI->output->append_output($template); } - + return $template; } -- cgit v1.2.3-24-g4f1b