当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPTAL_Php_CodeWriter::pushHTML方法代码示例

本文整理汇总了PHP中PHPTAL_Php_CodeWriter::pushHTML方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPTAL_Php_CodeWriter::pushHTML方法的具体用法?PHP PHPTAL_Php_CodeWriter::pushHTML怎么用?PHP PHPTAL_Php_CodeWriter::pushHTML使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHPTAL_Php_CodeWriter的用法示例。


在下文中一共展示了PHPTAL_Php_CodeWriter::pushHTML方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: generateCode

 public function generateCode(PHPTAL_Php_CodeWriter $codewriter)
 {
     if (preg_match('/^<\\?(?:php|[=\\s])/i', $this->getValueEscaped())) {
         // block will be executed as PHP
         $codewriter->pushHTML($this->getValueEscaped());
     } else {
         $codewriter->doEchoRaw("'<'");
         $codewriter->pushHTML(substr($codewriter->interpolateHTML($this->getValueEscaped()), 1));
     }
 }
开发者ID:jo-m,项目名称:ecamp3,代码行数:10,代码来源:ProcessingInstruction.php

示例2: generateCode

 public function generateCode(PHPTAL_Php_CodeWriter $codewriter)
 {
     $mode = $codewriter->getOutputMode();
     $value = $this->getValueEscaped();
     $inCDATAelement = PHPTAL_Dom_Defs::getInstance()->isCDATAElementInHTML($this->parentNode->getNamespaceURI(), $this->parentNode->getLocalName());
     // in HTML5 must limit it to <script> and <style>
     if ($mode === PHPTAL::HTML5 && $inCDATAelement) {
         $codewriter->pushHTML($codewriter->interpolateCDATA(str_replace('</', '<\\/', $value)));
     } elseif ($mode === PHPTAL::XHTML && $inCDATAelement || $mode === PHPTAL::XML && preg_match('/[<>&]/', $value) || $mode !== PHPTAL::HTML5 && preg_match('/<\\?|\\${structure/', $value)) {
         // in text/html "</" is dangerous and the only sensible way to escape is ECMAScript string escapes.
         if ($mode === PHPTAL::XHTML) {
             $value = str_replace('</', '<\\/', $value);
         }
         $codewriter->pushHTML($codewriter->interpolateCDATA('<![CDATA[' . $value . ']]>'));
     } else {
         $codewriter->pushHTML($codewriter->interpolateHTML(htmlspecialchars($value, ENT_QUOTES, $codewriter->getEncoding())));
     }
 }
开发者ID:ShaeS,项目名称:Pine-Birch,代码行数:18,代码来源:CDATASection.php

示例3: testFunctionsGeneration

    function testFunctionsGeneration()
    {
        $state = new PHPTAL_Php_State($this->newPHPTAL());
        $codewriter = new PHPTAL_Php_CodeWriter($state);
        $codewriter->doFunction('test1', '$tpl');
        $codewriter->pushHTML($codewriter->interpolateHTML('test1'));
        $codewriter->doFunction('test2', '$tpl');
        $codewriter->pushHTML('test2');
        $codewriter->doEnd();
        $codewriter->pushHTML('test1');
        $codewriter->doEnd();
        $res = $codewriter->getResult();
        $exp = <<<EOS
<?php function test2(\$tpl) {?>test2<?php}?>
<?php function test1(\$tpl) {?>test1test1<?php}?>
EOS;
        $res = normalize_phpsource($res, true);
        $exp = normalize_phpsource($exp, true);
        $this->assertEquals($exp, $res);
    }
开发者ID:ShaeS,项目名称:Pine-Birch,代码行数:20,代码来源:SimpleGenerationTest.php

示例4: after

 public function after(PHPTAL_Php_CodeWriter $codewriter)
 {
     $var = $codewriter->createTempVariable();
     $codewriter->pushCode('ob_end_flush()');
     $codewriter->doCatch('Exception ' . $var);
     $codewriter->pushCode('$tpl->addError(' . $var . ')');
     $codewriter->pushCode('ob_end_clean()');
     $expression = $this->extractEchoType($this->expression);
     $code = $codewriter->evaluateExpression($expression);
     switch ($code) {
         case PHPTAL_Php_TalesInternal::NOTHING_KEYWORD:
             break;
         case PHPTAL_Php_TalesInternal::DEFAULT_KEYWORD:
             $codewriter->pushHTML('<pre class="phptalError"');
             $codewriter->doEchoRaw($var);
             $codewriter->pushHTML('</pre>');
             break;
         default:
             $this->doEchoAttribute($codewriter, $code);
             break;
     }
     $codewriter->doEnd();
     $codewriter->recycleTempVariable($var);
 }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:24,代码来源:OnError.php

示例5: generateAttributes

 private function generateAttributes(PHPTAL_Php_CodeWriter $codewriter)
 {
     $html5mode = $codewriter->getOutputMode() === PHPTAL::HTML5;
     foreach ($this->getAttributeNodes() as $attr) {
         // xmlns:foo is not allowed in text/html
         if ($html5mode && $attr->isNamespaceDeclaration()) {
             continue;
         }
         switch ($attr->getReplacedState()) {
             case PHPTAL_Dom_Attr::NOT_REPLACED:
                 $codewriter->pushHTML(' ' . $attr->getQualifiedName());
                 if ($codewriter->getOutputMode() !== PHPTAL::HTML5 || !PHPTAL_Dom_Defs::getInstance()->isBooleanAttribute($attr->getQualifiedName())) {
                     $html = $codewriter->interpolateHTML($attr->getValueEscaped());
                     $codewriter->pushHTML('=' . $codewriter->quoteAttributeValue($html));
                 }
                 break;
             case PHPTAL_Dom_Attr::HIDDEN:
                 break;
             case PHPTAL_Dom_Attr::FULLY_REPLACED:
                 $codewriter->pushHTML($attr->getValueEscaped());
                 break;
             case PHPTAL_Dom_Attr::VALUE_REPLACED:
                 $codewriter->pushHTML(' ' . $attr->getQualifiedName() . '="');
                 $codewriter->pushHTML($attr->getValueEscaped());
                 $codewriter->pushHTML('"');
                 break;
         }
     }
 }
开发者ID:indynagpal,项目名称:MateCat,代码行数:29,代码来源:Element.php

示例6: generateCode

 public function generateCode(PHPTAL_Php_CodeWriter $codewriter)
 {
     if (!preg_match('/^\\s*!/', $this->getValueEscaped())) {
         $codewriter->pushHTML('<!--' . $this->getValueEscaped() . '-->');
     }
 }
开发者ID:indynagpal,项目名称:MateCat,代码行数:6,代码来源:Comment.php

示例7: generateCode

 public function generateCode(PHPTAL_Php_CodeWriter $codewriter)
 {
     $codewriter->pushHTML($codewriter->interpolateHTML($this->getValueEscaped()));
 }
开发者ID:rafalenden,项目名称:KioCMS,代码行数:4,代码来源:ProcessingInstruction.php


注:本文中的PHPTAL_Php_CodeWriter::pushHTML方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。