Example #1
0
 /**
  * Dump comment node.
  *
  * @param   CommentNode $node   comment node
  * @param   integer     $level  indentation level
  *
  * @return  string
  */
 protected function dumpComment(CommentNode $node, $level = 0)
 {
     if ($node->isBuffered()) {
         $html = str_repeat('  ', $level);
         if ($node->getBlock()) {
             $string = $node->getString();
             $beg = "<!--\n";
             $end = "\n" . str_repeat('  ', $level) . '-->';
             if (preg_match('/^ *if/', $string)) {
                 $beg = '<!--[' . $string . "]>\n";
                 $end = "\n" . str_repeat('  ', $level) . '<![endif]-->';
                 $string = '';
             }
             $html .= $beg;
             if ($string !== '') {
                 $html .= str_repeat('  ', $level + 1) . $string . "\n";
             }
             $html .= $this->dumpBlock($node->getBlock(), $level + 1);
             $html .= $end;
         } else {
             $html = str_repeat('  ', $level) . '<!-- ' . $node->getString() . ' -->';
         }
         return $html;
     } else {
         return '';
     }
 }