把里面的chr(13)替换成<br>
如果是php可以直接用nl2br函数,
如果是asp用str_replace函数替换

解决方案 »

  1.   

    不会的, 只是在textarea里的硬回车, 后台是可以行到回车符的. 不过有两点要注意, method=post
    textarea 里的自动换行是没有换行符的.
      

  2.   

    TO: meizz(梅花雪)
    我用php试了一下,提交的textarea内容确实不能得到回车啊,硬回车也得不到,起码php的echo不能,chr(13)只是一个空格,必须用nl2br函数转一下
      

  3.   

    PHP我没有环境测试, 不过在ASP与ASP.net里测试都没有问题的呀.比如说ASP吧:
    后台用JS可以用(\r\n) VBS可以用(VBCrLf)得到多行文本框里的回车换行符的呀.
      

  4.   

    哦。我在asp.net下试了也不用,只有php的echo需要,或用nl2br转,或加个<pre>..</pre>
      

  5.   

    我有一个想法:
    1:首先在textarea所在的页面里采用javascript函数将textarea里的内容根据回车换行符分割成一个数组,然后将数组内的各个数据首尾相连,之间采用"|"分割区分,由此组合成一个新字符串。
    2:接收页面再根据"|"分割符进行转化。
    这样可以吗?具体如何写代码呢?
      

  6.   

    to 梅花雪,能发个Asp的例子吗???(最好采用javascript脚本)
      

  7.   

    不应该会发生回车符丢失的呀. 对于多行文本框的提交, 后台得到的内容里应该包括它的格式的呀.
    比如说想在入库前就对提交的内容进行格式固定可以用:
    <%
    Function coder(str)
      Dim i
      If IsNull(str) Then : coder="" : Exit Function : End If
      For i = 1 to Len(str)
        Select case mid(str,i,1)
          Case "<"     : coder = coder &"&lt;"
          Case ">"     : coder = coder &"&gt;"
          Case "&"     : coder = coder &"&amp;"
          Case chr(9)  : coder = coder &"&nbsp; &nbsp; "
          Case chr(13) : coder = coder &"<br>"
          Case chr(32) : coder = coder &"&nbsp;"
          Case chr(34) : coder = coder &"&quot;"
          Case chr(39) : coder = coder &"&#39;"
          Case Else    : coder = coder & mid(str,i,1)
        End Select
      Next
    End Function
    %>
      

  8.   

    显示时用这样一个函数就行了
    <script language="vbscript">
    <!--
    function HtmlCode(fString)
       if fString<>"" then
        fString = replace(fString, ">", "&gt;")
        fString = replace(fString, "<", "&lt;")
    fString = Replace(fString, CHR(32), "&nbsp;")
        fString = Replace(fString, CHR(13), "")
        fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
        fString = Replace(fString, CHR(10), "<BR>")
         end if
        HtmlCode = fString
    end function
    -->
    </script>
    如果你要显示a的话function HtmlCode(a)
    这样显示就对了
      

  9.   

    不好意思,上面那个显示时是这样的:HtmlCode(a)
    上面写错了
    试试看
      

  10.   


    PHP:
    function HtmlCode($content) {
    $content = htmlspecialchars($content);
    $content = str_replace("\n", "<br>", $content);
    $content = str_replace("\n\n", "<p>", $content);
    $content = str_replace(" ", "&nbsp;", $content);
      return $content;
      }
    <?php echo HtmlCode($row["content"])?>
    ASP:
    function HTMLEncode(fString)
    if not isnull(fString) then
        fString = replace(fString, ">", "&gt;")
        fString = replace(fString, "<", "&lt;")    fString = Replace(fString, CHR(32), "&nbsp;")
        fString = Replace(fString, CHR(34), "&quot;")
        fString = Replace(fString, CHR(39), "&#39;")
        fString = Replace(fString, CHR(13), "")
        fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
        fString = Replace(fString, CHR(10), "<BR> ")
        HTMLEncode = fString
    end if
    end function
    response.write HTMLEncode(rs("content"))