$a="a
b
c"
现在我想把$a的回车替换成","
就像
$a="a","b","c"用str_replace怎么下手?求搭救

解决方案 »

  1.   

    str_replace("\n", '', str_replace("\n\r", "\n", $a))
      

  2.   


    写反了str_replace("\n", '', str_replace("\r\n", "\n", $a));orstr_replace(PHP_EOL, "\n", $a)
      

  3.   


    打字别太快了,先看清楚,人家要逗号啊,哈哈
    推荐最后那个PHP_EOL,跨平台的,win/unix通用
      

  4.   

    $a = preg_replace("/[\r\n]+/", ',', $a);或$a = join(',', split("[\r\n]+", $a));不建议用 PHP_EOL,因为你并不能确切的知道数据来自何种操作系统
      

  5.   

    围观看高手解答!根据楼上的思路,应该可以这么改,此思想非我的观点,原创依然属于#3!
    $a="a
    b
    c";
    echo $b="\"".str_replace(PHP_EOL, "\"\n,\"", $a)."\"";
      

  6.   


    哦,我小白了一回,确实PHP_EOL是自适应本地的系统,而不是自适应字符串源自的系统,呵呵
      

  7.   

    这样行不行呢?
    str_replace(array("\r\n","\n"),",",$a)
      

  8.   


    原来是perl兼用模式的定界符。。
      

  9.   

    windows 下:str_replace("\r\n", "\",",$a);
    linux 下:str_replace("\n", "\",",$a);