aboutsummaryrefslogtreecommitdiffstats
path: root/public/system/library/template/Twig/TokenParser/Spaceless.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/system/library/template/Twig/TokenParser/Spaceless.php')
-rw-r--r--public/system/library/template/Twig/TokenParser/Spaceless.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/public/system/library/template/Twig/TokenParser/Spaceless.php b/public/system/library/template/Twig/TokenParser/Spaceless.php
new file mode 100644
index 0000000..53d906d
--- /dev/null
+++ b/public/system/library/template/Twig/TokenParser/Spaceless.php
@@ -0,0 +1,47 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2010 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Remove whitespaces between HTML tags.
+ *
+ * <pre>
+ * {% spaceless %}
+ * <div>
+ * <strong>foo</strong>
+ * </div>
+ * {% endspaceless %}
+ *
+ * {# output will be <div><strong>foo</strong></div> #}
+ * </pre>
+ */
+class Twig_TokenParser_Spaceless extends Twig_TokenParser
+{
+ public function parse(Twig_Token $token)
+ {
+ $lineno = $token->getLine();
+
+ $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+ $body = $this->parser->subparse(array($this, 'decideSpacelessEnd'), true);
+ $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+
+ return new Twig_Node_Spaceless($body, $lineno, $this->getTag());
+ }
+
+ public function decideSpacelessEnd(Twig_Token $token)
+ {
+ return $token->test('endspaceless');
+ }
+
+ public function getTag()
+ {
+ return 'spaceless';
+ }
+}