Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 用JSON字符串中的空字符串替换制表符和新行馈送(&N)_Php_Json - Fatal编程技术网

Php 用JSON字符串中的空字符串替换制表符和新行馈送(&N)

Php 用JSON字符串中的空字符串替换制表符和新行馈送(&N),php,json,Php,Json,我有一个JSON字符串,当我记录它时是这样的: ..."items":{"0":" \t\t\t\t\t"},"buys":{"0":" \t\t\t\t\t"}}}, "sells":{}, "clients":{"test":{"0":" \t\t\t\t"}... 我想要的是从中删除所有新行馈送\n&tab字符\t,并具有如下JSON字符串: ..."items":{},"buys":{}}}, "sells":{}, "clients":{"test":{}... $json = p

我有一个JSON字符串,当我记录它时是这样的:

..."items":{"0":"
\t\t\t\t\t"},"buys":{"0":"
\t\t\t\t\t"}}}, "sells":{}, "clients":{"test":{"0":"
\t\t\t\t"}...
我想要的是从中删除所有新行馈送\n&tab字符\t,并具有如下JSON字符串:

..."items":{},"buys":{}}}, "sells":{}, "clients":{"test":{}...
$json = preg_replace(['/\"0\"\:\n\"[\\t]+/'], [''], $json);
我编写了一个preg_replace函数,如下所示:

..."items":{},"buys":{}}}, "sells":{}, "clients":{"test":{}...
$json = preg_replace(['/\"0\"\:\n\"[\\t]+/'], [''], $json);
但是当我记录JSON字符串时,它们并没有被删除

我应该怎么做?

您可以使用str\u replace函数替换\t和\n:


您可以阅读更多相关信息。

您可以使用此正则表达式

json\u解码$yourString,它将完成其余部分。我想,但它没有经过测试yet@AdnanMumtaz我已经测试过了,但是空间仍然存在。你能发布一个完整的json示例吗?它成功了。谢谢但是为什么preg\u replace不起作用呢?@Ramin,太棒了,我对regex不太在行,但我认为如果你做一些像/\\\\n \\\\\\t/.这样的事情,使用preg\u replace会起作用。。。preg_替换“/\\\\n”\\\\t/”,$json; "[\t\n\r]"