thinkphp使用literal防止模板标签被解析的方法

浏览:2466 发布日期:2016/12/23 分类:技术分享
在ThinkPHP中可以使用literal标签来防止模板标签被解析,例如:


代码如下:

<literal>
 <if condition="$name eq 1 "> value1
 <elseif condition="$name eq 2"/>value2
 <else /> value3
 </if>
 </literal>


上面的if标签被literal标签包含,因此if标签里面的内容并不会被模板引擎解析,而是保持原样输出。

如果你的php标签中需要输出类似{$user} 或者 XML标签的情况,可以通过添加literal标签解决混淆问题,例如:


代码如下:

<php>echo '{$Think.config.CUSTOM.'.$key.'}';</php>


这个php标签中的{$Think 可能会被模板引擎误当做标签解析,解决的办法就是加上literal,例如:


代码如下:

<php><literal>echo '{$Think.config.CUSTOM.'.$key.'}';</literal></php>


Literal标签还可以用于页面的JS代码外层,确保JS代码中的某些用法和模板引擎不产生混淆。

总之,所有可能和内置模板引擎的解析规则冲突的地方都可以使用literal标签处理。

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。
最佳答案
评论( 相关
后面还有条评论,点击查看>>