private function mountContent($content)
    {
        if ($this->extended || empty($content)) {
            //No blocks or text can exists outside parent template blocks
            return;
        }

        if (is_array($content)) {
            $plainContent = '';
            foreach ($content as $token) {
                $plainContent .= $token[HtmlTokenizer::TOKEN_CONTENT];
            }

            $content = $plainContent;
        }

        $matches = $this->compiler->getSyntax()->parseBlock($content);
        if (!empty($matches)) {
            $chunks = explode($matches[0], $content);

            //We expecting first chunk to be string (before block)
            $this->mountContent(array_shift($chunks));

            $this->mountBlock(
                $matches['name'],
                isset($matches['default']) ? $matches['default'] : ''
            );

            //Rest of content (after block)
            $this->mountContent(join($matches[0], $chunks));

            return;
        }

        if (is_string(end($this->nodes))) {
            $this->nodes[key($this->nodes)] .= $content;

            return;
        }

        $this->nodes[] = $content;
    }
private function mountContent($content)
    {
        if ($this->extended || empty($content)) {
            //No blocks or text can exists outside parent template blocks
            return;
        }

        if (is_array($content)) {
            $plainContent = '';
            foreach ($content as $token) {
                $plainContent .= $token[HtmlTokenizer::TOKEN_CONTENT];
            }

            $content = $plainContent;
        }

        $matches = $this->compiler->getSyntax()->parseBlock($content);
        if (!empty($matches)) {
            $chunks = explode($matches[0], $content);

            //We expecting first chunk to be string (before block)
            $this->mountContent(array_shift($chunks));

            $this->mountBlock(
                $matches['name'],
                isset($matches['default']) ? $matches['default'] : ''
            );

            //Rest of content (after block)
            $this->mountContent(join($matches[0], $chunks));

            return;
        }

        if (is_string(end($this->nodes))) {
            $this->nodes[key($this->nodes)] .= $content;

            return;
        }

        $this->nodes[] = $content;
    }
private function mountContent ( $ content ) { if ( $ this -> extended || empty ( $ content ) ) { //No blocks or text can exists outside parent template blocks return ; } if ( is_array ( $ content ) ) { $ plainContent = '' ; foreach ( $ content as $ token ) { $ plainContent .= $ token [ HtmlTokenizer :: TOKEN_CONTENT ] ; } $ content = $ plainContent ; } $ matches = $ this -> compiler -> getSyntax ( ) -> parseBlock ( $ content ) ; if ( ! empty ( $ matches ) ) { $ chunks = explode ( $ matches [ 0 ] , $ content ) ; //We expecting first chunk to be string (before block) $ this -> mountContent ( array_shift ( $ chunks ) ) ; $ this -> mountBlock ( $ matches [ 'name' ] , isset ( $ matches [ 'default' ] ) ? $ matches [ 'default' ] : '' ) ; //Rest of content (after block) $ this -> mountContent ( join ( $ matches [ 0 ] , $ chunks ) ) ; return ; } if ( is_string ( end ( $ this -> nodes ) ) ) { $ this -> nodes [ key ( $ this -> nodes ) ] .= $ content ; return ; } $ this -> nodes [ ] = $ content ; }
Register string node content.

@param string|array $content String content or html tokens.
Register string node content .