Home >Backend Development >PHP Tutorial >Parsing of TAL template engine syntax in PHP (code)
这篇文章给大家介绍的内容是关于php TAL模板引擎语法,内容很详细,有需要的朋友可以参考一下,希望可以帮助到大家。
本文档的使用到的数据($talData)
//定义talData变量 $talData = array(); $talData['title'] = 'title1'; $talData['key'] = 'key1'; $talData['href'] = 'xxx.html'; $talData['html'] = '<h1>h1标题</h1>'; $talData['fun'] = function($key=''){ return $key === 'key1'? true : false; }; //两维数组 $talData['list1'] = array( array('id'=>'1', 'title'=>'标题1'), array('id'=>'2', 'title'=>'标题2'), array('id'=>'3', 'title'=>'标题3'), array('id'=>'4', 'title'=>'标题4') );
//输出的数据结构 {"title":"title1","key":"key1","href":"xxx.html","html":" h1\u6807\u9898","fun":{},"list1":[{"id":"1","title":"\u6807\u98981"},{"id":"2","title":"\u6807\u98982"},{"id":"3","title":"\u6807\u98983"},{"id":"4","title":"\u6807\u98984"}]}
define 定义变量
condition
repeat
content or replacae
attributes 属性
omit-tag
<p> ${title} && ${key} </p> ${title} && ${key} <!-- 结果 --> <p>title1 && key1</p> title1 &&
<p> ${fname} && ${lname} </p> ${fname} && ${lname} <!-- 结果 --> <p>fname1 string && lname1 string</p> fname1 string &&
<p> ${hello} </p> 或 <p> ${hello} </p> <!-- 结果 --> <p>hello fname1 string welcome on this page</p>
<p> ${rand} </p> <!-- 结果 --> <p>2</p>
<block> <p>渲染1</p> </block> <block> 不渲染这里 </block> <block> <p>不渲染这里</p> </block> <p>${talData/title}</p> <!-- 结果 --> <p>渲染1</p> title1 <p>title1</p>
<p> test data<span>tips</span> </p> <!-- 结果 --> <p>title1</p>
<p>${talData/title}</p> <!-- 结果 --> <p>title1</p>
<a>sample link</a> <!-- 结果 --> <a>key1</a>
<span>key 已经是定义了</span> <span>ky 没有定义的</span> <!-- 结果 --> <span>key1</span> 当前数据不存在
<p>标题</p> <p>关键词</p> <p>关键词</p> <p>关键词</p> <p>关键词</p> <!-- 结果 --> <p>title1</p> <p>key1</p> <p>key1</p> <p>key1</p>
<p> omit-tag值为真,不出现当前p标签,否则就出现当前p标签 </p> <p> omit-tag值为真,不出现当前p标签,否则就出现当前p标签 </p> <!-- 结果 --> <p>omit-tag值为真,不出现当前p标签,否则就出现当前p标签</p> omit-tag值为真,不出现当前p标签,否则就出现当前p标签
<block>文字会出现十次</block> <!-- 结果 --> 12345678910
<!-- 在pWeb/_macro/common.html文件中代码 --> <block> <script> window.WinPageData = ${structure WinPageData}; </script> </block>
<block> 当前内容会被宏替换掉 <script> window.WinPageData = {}; </script> </block> <p></p>
<!-- 在pWeb/_macro/mlog.html文件中代码 --> <block> <script> <metal:block define-slot="mlog_page"> var mlog_page = 'mobile_other'; var mlog_track = function(){}; </script> <script></script> </block>
<block> <block> var mlog_page = 'mobile_index'; </block> </block>
<!-- 在pWeb/_macro/mlog.html文件中代码 --> <block> <p>${title}</p> <p>${key}</p> </block>
<block></block>
phptal:debug
<p>...</p> 有效期可以有选择的跟随'per'参数来定义多少个缓存被共享,使用'per url'分别针对每个url复制元素. <ol>...</ol>
php:htmlentities(foo) php:'string ${varReplaced}' php:'string ${some.path().to[0].var}' php:foo.a.b.c(e).htmlentities(SomeClass::staticMethod()) php:SomeClass::ConstOfClass php:SomeClass::$staticVar
<span>not logged</span> <!-- 结果 --> <span>not logged</span>
<span>存在</span> <!-- 结果 --> <span>title1</span>
<span> default my var value </span> <p> 没有var,没有找到path </p> <a>Unknown page</a> <!-- 结果 --> <p>没有var,没有找到path</p> <a>Unknown page</a>
注意存在XSS攻击风险,谨慎使用
<p></p> <p></p> <!-- 结果 --> <p><h1>h1标题</h1></p> <p></p><h1>h1标题</h1>
<p>${talData/html}</p> <p>${structure talData/html}</p> <!-- 结果 --> <p><h1>h1标题</h1></p> <p></p><h1>h1标题</h1>
相关文章推荐:
PHP的学习--PHP加密,PHP学习--PHP加密_PHP教程
The above is the detailed content of Parsing of TAL template engine syntax in PHP (code). For more information, please follow other related articles on the PHP Chinese website!