服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - thinkphp使用literal防止模板标签被解析的方法

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

2020-08-14 16:36shichen2014 PHP教程

这篇文章主要介绍了thinkphp使用literal防止模板标签被解析的方法,可实现针对一些不需要解析的模板标签直接输出,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了thinkphp不解析标签直接输出,防止模板标签被解析的方法。分享给大家供大家参考。具体实现方法如下:

在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框架程序设计有所帮助。

延伸 · 阅读

精彩推荐