当前位置: 代码迷 >> PHP >> smarty模板的转义有关问题
  详细解决方案

smarty模板的转义有关问题

热度:80   发布时间:2016-04-28 18:25:57.0
smarty模板的转义问题
我用<textarea>文本框提交以下内容
<ul>
        <{assign var="s" value=1}>
        <{foreach item=adv key=key from=$adv}>
            <li <{if $s%4 == 0}>class="mro"<{/if}>><a href="<{$adv.url}>"><img src="<{$adv.picName}>" width="293" height="189" /></a></li>
          <{assign var="s" value=$s+1}>  
        <{/foreach}>
            
        </ul>
在后台用addslashes转义了一下存入数据库,前台都去的时候用stripslashes转义,但是,smarty模板中输出的是
<ul> <{assign var="s" value=1}> <{foreach item=adv key=key from=$adv}> <li <{if $s%4 == 0}>class="mro"<{/if}>><a href="<{$adv.url}>"><img src="<{$adv.picName}>" width="293" height="189" /></a></li> <{assign var="s" value=$s+1}> <{/foreach}> </ul> 确没有以html样式输出这是为什么??我用 |escape:"html" 转义也不行
------解决思路----------------------
你想输出成什么样子
------解决思路----------------------
smarty 跟 你的内容转义好像没什么关系吧,不是很懂你遇到什么问题?
------解决思路----------------------
你是打算自定义循环的输出, 
但是smarty应该是,先php代码然后assign到模板。
你应该要的意思是assign到模板,然后在让smarty再解析一遍。

我看是不行的, 我建议你在后台提交的时候, 将这个循环写入模板文件中。