public function parse($source=false, $parse_collections=false, $_internal_loop=false)
        {
//          increment the parse count so it has unique identifiers
            self::$_instance += 1;
//          capture the source from the buffer
            if($source === false)
            {
                $source = ob_get_clean();
                $this->_buffer_in_use = true;
                $parse_collections = true;
            }
            
//          collect the tags for processing
            $tags = $this->collectTags($source);
            if(count($tags) > 0)
            {
//              there are tags so process them
                $output = $this->_parseTags($tags);
                if($output && $parse_collections === true)
                {
//                  parse any collected tags if required
                    $output = $this->_processCollectedTags($output);
                }
                if($this->_options['echo_output'] === true)
                {
                    echo $output;
                }
                return $output;
            }
            return $source;
        }
public function parse($source=false, $parse_collections=false, $_internal_loop=false)
        {
//          increment the parse count so it has unique identifiers
            self::$_instance += 1;
//          capture the source from the buffer
            if($source === false)
            {
                $source = ob_get_clean();
                $this->_buffer_in_use = true;
                $parse_collections = true;
            }
            
//          collect the tags for processing
            $tags = $this->collectTags($source);
            if(count($tags) > 0)
            {
//              there are tags so process them
                $output = $this->_parseTags($tags);
                if($output && $parse_collections === true)
                {
//                  parse any collected tags if required
                    $output = $this->_processCollectedTags($output);
                }
                if($this->_options['echo_output'] === true)
                {
                    echo $output;
                }
                return $output;
            }
            return $source;
        }
public function parse ( $ source = false , $ parse_collections = false , $ _internal_loop = false ) { //          increment the parse count so it has unique identifiers self :: $ _instance += 1 ; //          capture the source from the buffer if ( $ source === false ) { $ source = ob_get_clean ( ) ; $ this -> _buffer_in_use = true ; $ parse_collections = true ; } //          collect the tags for processing $ tags = $ this -> collectTags ( $ source ) ; if ( count ( $ tags ) > 0 ) { //              there are tags so process them $ output = $ this -> _parseTags ( $ tags ) ; if ( $ output && $ parse_collections === true ) { //                  parse any collected tags if required $ output = $ this -> _processCollectedTags ( $ output ) ; } if ( $ this -> _options [ 'echo_output' ] === true ) { echo $ output ; } return $ output ; } return $ source ; }
Parses the source for any custom tags.
@access public
@param mixed|boolean|string $source If false then it will capture the output buffer, otherwise if a string
it will use this value to search for custom tags.
@param boolean $parse_collections If true then any collected tags will be parsed after the tags are parsed.
@return string The parsed $source value.
Parses the source for any custom tags .