本文實例講述了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框架程序設計有所幫助。