try:
<input type="text" value="<% $value[js]|strip_tags : false %>" />

解决方案 »

  1.   

    <input type="text" value="<% $value[js]|escape %>"/>
      

  2.   

    function jsAddSlashes($str)
    {
       $pattern = array(
           "/\\\\/"  , "/\n/"    , "/\r/"    , "/\"/"    ,
           "/\'/"    , "/&/"     , "/</"     , "/>/"
       );
       $replace = array(
           "\\\\\\\\", "\\n"     , "\\r"     , "\\\""    ,
           "\\'"     , "\\x26"   , "\\x3C"   , "\\x3E"
       );
       return preg_replace($pattern, $replace, $str);
    }
    显示前或者保存前用该函数对数据进行处理
      

  3.   

    Array ( [0] => Array ( [id] => 1 [name] => bushyou [sex] => 1 [js] => !@#$%^&*()_+|~[]{}:";'<>,./? ) [1] => Array ( [id] => 2 [name] => bushyou [sex] => 1 [js] => document.write("1"); ) [2] => Array ( [id] => 3 [name] => bushyou [sex] => 1 [js] => <script>alert("3")</script> ) [3] => Array ( [id] => 4 [name] => bushyou [sex] => 1 [js] => '111' ) [4] => Array ( [id] => 5 [name] => bushyou [sex] => 1 [js] => #aa ) [5] => Array ( [id] => 6 [name] => bushyou [sex] => 1 [js] => \m ) [6] => Array ( [id] => 7 [name] => bushyou [sex] => 1 [js] => <?php echo "111"; ?> ) )
      

  4.   

    gzty(风逍遥) 是想在HTML中处理。不想在PHP里处理
      

  5.   

    问题是显示出来的过程中。。SMARTY的框架自带的方法。。可是我在HTML中不知道怎么写。。
      

  6.   

    ???
    "飞花逐月"的方法是对的,应该。你去下载个smarty文档找找嘛。
    再试试
    <input type="text" value="<% $value[js]|escape : "html" %>"/>
      

  7.   

    你们写的时候
    <input type="text" value="<% $value[js]|escape : "html" %>"/>
    这些“都不用转义的吗?
    <input type="text" value="<% $value[js]|escape : \"html\" %>"/>需要这样转义的吗?
      

  8.   

    不需要,smarty标记内一般都不需要转义.
      

  9.   

    谢谢。。那再问你们一下
    <%$value[js]|replace:"\"":"&quot;"%>
    这里里面能不能连续replace几个特殊字符的。。
    是不是用,隔开
    <%$value[js]|replace:"\"":"&quot;","<":"&lt;"%>。。请教
      

  10.   

    用regex_replace,和preg_repace一样的,可进行数组替换。
    php:
    ==========
    $smarty->assign("a",array("/a/","/b/"));
    $smarty->assign("b",array("c","d"));
    $smarty->assign("dd","abcdefg");
    tpl:
    ================================
    <% $dd|replace:$a:$b %>output: cdcdefg
      

  11.   

    tpl:
    ================================
    <% $dd|regex_replace:$a:$b %>output: cdcdefg
      

  12.   

    替换后的<script>alert("3")</script> 还是会运行的
    $tpl->assign("a",array("<",">","\""));
    $tpl->assign("b",array("&lt;","&gt;","&quot;"));
    HTML:
    <input type="text" value="<%$value[js]|replace:$a:$b %>" />在查看源代码
    <input type="text" value="&lt;script&gt;alert(&quot;3&quot;)&lt;/script&gt;" />
      

  13.   

    $tpl->assign("a",array("<",">","\"")); --> $tpl->assign("a",array("/\</","/\>/","/\"/"))
      

  14.   

    <input type="text" value="<%$value[js]|regex_replace:$a:$b %>" />
    用regex_replace,不要用replace