meizz(梅花雪) 粗糙了:str="字串\n或是字串\r";中根本没有"\"字符,如何replace?"\n","\r"应该看作是一个不可分割的一个字符,
可以str.replace("\n","\n"),即'\n'(换行符,不可见)--->"\n"(字符“\"+"n",可见)

解决方案 »

  1.   

    其实应该这样问的:JS如何把大段文字(含回车,换行,和转义符)引用为字符串。就像PHP中的“<<<EOF(大串文字)EOF;”,PostgreSQL中的“$$str$$(大串文字)$$str$$”是不是有这种方法:var str=[js字串定界符开始]
    一大串的文字
    含回车
    换行

    [js字串定界符结束]或是PHP有没有不转义(也就是\n不转成回车\r不转成换行,而是原样)输出字串的函数?
      

  2.   

    回复人: chouchy(城市刀客) ( ) 信誉:100  2006-01-19 22:16:00  得分: 0  
     我觉得是你想的不对!
      

  3.   

    to  xxuu503(学会糜烂和挥霍,恐惧不安和堕落!) 哪里不对,请指出!---------------------------------------------to axolo(七月十五) 看看我上面说的。
      

  4.   

    <textarea id="str"><?php echo $i?></textarea>
    <script type="text/javascript">
    alert(document.getElementById("str").value;
    </script>
      

  5.   

    我把我的想法说一下:其实我是在设计一个新闻发布系统,需要支持UBB代码。在发布的时候:UBB代码原样存入数据库中。
    在浏览的时候:在客户端浏览器中以HTML输出。
    在编辑的时候:从数据库中取出以UBB代码方式供客户编辑。本来这一切可以用PHP来实现,可是由于PHP在服务器端解析,所以服务器的负担会加重,我的设计思想就是能在客户端处理的决不麻烦服务器处理。那么最好的办法就是用JavaScript来处理。比如输入字串验证、非法字眼过滤、输入字串格式化,输出字串转换、输出格式化、等等。让客户端来做一些力所能及并且是应该完成的事情。我的想法有错么?还有这个问题还是没有解决啊!
      

  6.   

    这个问题怎么没有解决呀?我...
    ----------------------------
    回复人: chouchy(城市刀客) ( ) 信誉:100  2006-1-19 22:16:22  得分: 0  meizz(梅花雪) 粗糙了:str="字串\n或是字串\r";中根本没有"\"字符,如何replace?"\n","\r"应该看作是一个不可分割的一个字符,
    可以str.replace("\n","&#92;n"),即'\n'(换行符,不可见)--->"\n"(字符“\"+"n",可见)
    --------------------------------非要我写到这里你才算解决了?以下是代码:<script language="javascript">
    function paserStr(str)
    {
    if(str!=null && str.length>0)
    {
    if(str.indexOf("\f")!=-1)
    str=str.replace("\f","&#92;f");
    if(str.indexOf("\n")!=-1)
    str=str.replace("\n","&#92;n");
    if(str.indexOf("\r")!=-1)
    str=str.replace("\r","&#92;r");
    if(str.indexOf("\t")!=-1)
    str=str.replace("\t","&#92;t");
    }
    //alert(str);
    return str;
    }
    var test="\f换页符\n换行符\r回车符;\t制表符";
    document.write("<h1>转化前:</h1>"+test+"<hr><h1>转化后:</h1>"+paserStr(test));
    </script>
      

  7.   

    谢谢啊
    我需要再研究一下
    因为我需要和PHP结合
    看来我需要在上传的时候转换好\为\\了
    这样也许会简单点<script language="javascript">
    function up2db(str)
    {
    str=str.replace(/\\/gi,"\\\\");
    return str;
    }
    </script><?php
    if($newssubmit)
    {
    echo $ubbtext;
    }
    else
    {
    ?>
    <form action="<?php echo $PATH_INFO?>" method=post>
    <textarea name=ubbtext id=str></textarea>
    <input type=submit value="提交" name=newssubmit onclick=up2db(document.getElementById('str').value)>
    </form>
    <?php
    }
    ?>
      

  8.   

    PHP 里面有转义的专用函数啊addslashes
      

  9.   

    搞了半天,不能转换,换成了RichText在线编辑器了,搞定了。谢谢大家啊。
    如果我在线的话,可以去我的花生壳看看哦http://hent.xicp.net