public function generateFromTokens($tokens)
    {
        if (!$tokens) {
            return '';
        }

        // Basic algorithm
        $html = '';
        for ($i = 0, $size = count($tokens); $i < $size; $i++) {
            if ($this->_scriptFix && $tokens[$i]->name === 'script'
                && $i + 2 < $size && $tokens[$i+2] instanceof HTMLPurifier_Token_End) {
                // script special case
                // the contents of the script block must be ONE token
                // for this to work.
                $html .= $this->generateFromToken($tokens[$i++]);
                $html .= $this->generateScriptFromToken($tokens[$i++]);
            }
            $html .= $this->generateFromToken($tokens[$i]);
        }

        // Tidy cleanup
        if (extension_loaded('tidy') && $this->config->get('Output.TidyFormat')) {
            $tidy = new Tidy;
            $tidy->parseString(
                $html,
                array(
                   'indent'=> true,
                   'output-xhtml' => $this->_xhtml,
                   'show-body-only' => true,
                   'indent-spaces' => 2,
                   'wrap' => 68,
                ),
                'utf8'
            );
            $tidy->cleanRepair();
            $html = (string) $tidy; // explicit cast necessary
        }

        // Normalize newlines to system defined value
        if ($this->config->get('Core.NormalizeNewlines')) {
            $nl = $this->config->get('Output.Newline');
            if ($nl === null) {
                $nl = PHP_EOL;
            }
            if ($nl !== "\n") {
                $html = str_replace("\n", $nl, $html);
            }
        }
        return $html;
    }
public function generateFromTokens($tokens)
    {
        if (!$tokens) {
            return '';
        }

        // Basic algorithm
        $html = '';
        for ($i = 0, $size = count($tokens); $i < $size; $i++) {
            if ($this->_scriptFix && $tokens[$i]->name === 'script'
                && $i + 2 < $size && $tokens[$i+2] instanceof HTMLPurifier_Token_End) {
                // script special case
                // the contents of the script block must be ONE token
                // for this to work.
                $html .= $this->generateFromToken($tokens[$i++]);
                $html .= $this->generateScriptFromToken($tokens[$i++]);
            }
            $html .= $this->generateFromToken($tokens[$i]);
        }

        // Tidy cleanup
        if (extension_loaded('tidy') && $this->config->get('Output.TidyFormat')) {
            $tidy = new Tidy;
            $tidy->parseString(
                $html,
                array(
                   'indent'=> true,
                   'output-xhtml' => $this->_xhtml,
                   'show-body-only' => true,
                   'indent-spaces' => 2,
                   'wrap' => 68,
                ),
                'utf8'
            );
            $tidy->cleanRepair();
            $html = (string) $tidy; // explicit cast necessary
        }

        // Normalize newlines to system defined value
        if ($this->config->get('Core.NormalizeNewlines')) {
            $nl = $this->config->get('Output.Newline');
            if ($nl === null) {
                $nl = PHP_EOL;
            }
            if ($nl !== "\n") {
                $html = str_replace("\n", $nl, $html);
            }
        }
        return $html;
    }
public function generateFromTokens ( $ tokens ) { if ( ! $ tokens ) { return '' ; } // Basic algorithm
 $ html = '' ; for ( $ i = 0 , $ size = count ( $ tokens ) ; $ i < $ size ; $ i ++ ) { if ( $ this -> _scriptFix && $ tokens [ $ i ] -> name === 'script' && $ i + 2 < $ size && $ tokens [ $ i + 2 ] instanceof HTMLPurifier_Token_End ) { // script special case
 // the contents of the script block must be ONE token
 // for this to work.
 $ html .= $ this -> generateFromToken ( $ tokens [ $ i ++ ] ) ; $ html .= $ this -> generateScriptFromToken ( $ tokens [ $ i ++ ] ) ; } $ html .= $ this -> generateFromToken ( $ tokens [ $ i ] ) ; } // Tidy cleanup
 if ( extension_loaded ( 'tidy' ) && $ this -> config -> get ( 'Output.TidyFormat' ) ) { $ tidy = new Tidy ; $ tidy -> parseString ( $ html , array ( 'indent' => true , 'output-xhtml' => $ this -> _xhtml , 'show-body-only' => true , 'indent-spaces' => 2 , 'wrap' => 68 , ) , 'utf8' ) ; $ tidy -> cleanRepair ( ) ; $ html = ( string ) $ tidy ; // explicit cast necessary
 } // Normalize newlines to system defined value
 if ( $ this -> config -> get ( 'Core.NormalizeNewlines' ) ) { $ nl = $ this -> config -> get ( 'Output.Newline' ) ; if ( $ nl === null ) { $ nl = PHP_EOL ; } if ( $ nl !== "\n" ) { $ html = str_replace ( "\n" , $ nl , $ html ) ; } } return $ html ; }
Generates HTML from an array of tokens.
@param HTMLPurifier_Token[] $tokens Array of HTMLPurifier_Token
@return string Generated HTML
Generates HTML from an array of tokens .