废话不多说,问题描述如下:
    用javascript将回复内容“引用”到textarea时:回复内容(html格式)中如果有“\r\n”等字符串,要将它们在textarea中真实的显示。如果有<br>标签则要将其换成文本换行符\r\n,如果是真实的<br>字符串(即用户手动敲的字符串经过html字符转义之后保存到数据库,最后显示在页面中的字符串“<br>”)则不替换。纠结!
       把textarea中的回复内容保存到数据库时:首先要转义html字符(否则有可能破坏html文档结构),并把‘\n’‘\r’等特殊换行符换成html的<br>标签,而真实字符串“\n”,“\r”,“\r\n”等又不应该被替换。真是纠结!!
       还有个问题就是:在前面操作的基础上,如何将回复内容中的引用部分即换成fieldset标签,如果是多重引用,又该怎么做,要注意哪些问题呢?更是纠结!!!
       这些纠结的问题,我也是想了半天才理清,但要写出代码来可能有点难度,我已经试着写过了。有大虾曾今做个这个“引用”的功能并考虑到这些细节部分的吗?望指点!感激涕零!!!如果有现成的代码那就更好了!

解决方案 »

  1.   

    发现写“[q u o t e=XXX]...[/ q u o t e]”
    这个就变成了html的格式
      

  2.   

    其实问题在于字符的表达。用户引用的内容POST的时候,就应该进行转义了:
    1。 真正的\n \r 就要转为<br>了。
    2。 遇到字符\ ,要转义为\\, 那么手写的\n就 ==>  \\n 了。这是根本的解决方法,不过要在JS那边做。
      

  3.   

    前台把文本域用<pre><textarea>
    (亲,床上等你!)</textarea></pre>包围试试呢
    回车都能接受到的