Php 替换json编码字符串错误中的换行符?

Php 替换json编码字符串错误中的换行符?,php,string,json,line-breaks,Php,String,Json,Line Breaks,我想在PHP中将换行符替换为'。不知怎的,我无法让它在这个json编码的字符串上工作,[[0,“Hello World”],[1,“s\n”]和$x=preg\u replace('/\r\n | \r\n/m','$x) 我没有主意了。我知道php代码不使用json编码的字符串。有没有解决这个问题的办法 忘了这个: 当我以$x的形式输入字符串时,函数或php代码返回相同的字符串。而不是将\n替换为' 我还尝试了Stackoverflow中的所有相关问题。其中没有一个成功的preg\u repl

我想在PHP中将换行符替换为
'
。不知怎的,我无法让它在这个json编码的字符串上工作,
[[0,“Hello World”],[1,“s\n”]
$x=preg\u replace('/\r\n | \r\n/m','$x)

我没有主意了。我知道php代码不使用json编码的字符串。有没有解决这个问题的办法

忘了这个:

当我以
$x
的形式输入字符串时,函数或php代码返回相同的字符串。而不是将
\n
替换为
'


我还尝试了Stackoverflow中的所有相关问题。其中没有一个成功的

preg\u replace将尝试将“\n”解析为实际的换行符,因此您需要在其中进行更多转义

$x = preg_replace('/\\\r\\\n|\\\r|\\\n\\\r|\\\n/m', ' ', $x);

但这一切都有点丑陋。有什么原因不能在实际解码的字符串中进行替换吗?

有什么不起作用?为清晰起见,请提供“before”和“after”字符串。当我将字符串作为$XT输入时,函数或php代码将返回相同的字符串。谢谢@Logan,它成功了!我不想在客户端更换,但我严重怀疑这是否有效并解决了您的问题。我尝试了你问题中的模式,效果不错;这个转义代码(虽然转义是不必要的,因为模式是在单引号之间,与\n或\r无关)不起作用。老实说,我希望他的示例代码也能起作用,但当我在我的计算机上尝试时,它没有起作用。我尝试了额外的逃跑,它的工作。我使用的是Ubuntu 10.10和PHP5.3.3,你?@Logan,我在同一个系统上测试过。