Spaceless.php (898B)
1 <?php 2 3 /* 4 * This file is part of Twig. 5 * 6 * (c) 2010 Fabien Potencier 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 /** 13 * Represents a spaceless node. 14 * 15 * It removes spaces between HTML tags. 16 * 17 * @author Fabien Potencier <fabien@symfony.com> 18 */ 19 class Twig_Node_Spaceless extends Twig_Node 20 { 21 public function __construct(Twig_NodeInterface $body, $lineno, $tag = 'spaceless') 22 { 23 parent::__construct(array('body' => $body), array(), $lineno, $tag); 24 } 25 26 public function compile(Twig_Compiler $compiler) 27 { 28 $compiler 29 ->addDebugInfo($this) 30 ->write("ob_start();\n") 31 ->subcompile($this->getNode('body')) 32 ->write("echo trim(preg_replace('/>\s+</', '><', ob_get_clean()));\n") 33 ; 34 } 35 }