簡體   English   中英

聰明貓逃脫html

[英]Smarty cat escapes html

我有簡單的代碼:

{html_checkboxes values=$user_data['names']['id'] output = $user_data['names']['user_name']|cat:' | Status: '|cat:$user_data['names']['status'] escape=false}

在數組$user_data['names']['status']中存儲了用戶狀態,例如<span style="color: red">User</span> ,因此我需要將其顯示為Username | 狀態:用戶 (用戶為紅色),但是巧妙地將其切斷。 如果沒有cat,它只有1個變量就可以了。

我還測試了{user_data['names']['status']}"lol"|cat:$user_data['names']['status']$user_data['names']['user_name']|cat:' | Status: '|cat:$user_data['names']['status'] $user_data['names']['user_name']|cat:' | Status: '|cat:$user_data['names']['status'] -正常。 問題出在哪兒?

根據版本(Smarty2 / Smarty3),您可能需要以下之一:

{html_checkboxes values=$user_data.names.id output={$user_data.names.user_name|cat:' | Status: '|cat:$user_data.names.status} escape=false}

將您的值分配給變量以使事情變得愚蠢:

{assign var="foo" value=$user_data.names.user_name|cat:' | Status: '|cat:$user_data.names.status}
{html_checkboxes values=$user_data.names.id output=$foo escape=false}

或使用{capture}處理更復雜的事情(無需使用cat修飾符):

{capture assign="foo"}{$user_data.names.user_name|cat:' | Status: '|cat:$user_data.names.status}{/capture}
{html_checkboxes values=$user_data.names.id output=$foo escape=false}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM