Javascript 正则表达式删除JS格式字符串中的额外空格
我有下面的字符串Javascript 正则表达式删除JS格式字符串中的额外空格,javascript,php,regex,whitespace,Javascript,Php,Regex,Whitespace,我有下面的字符串 $json = ' insert: [ { table:" abc",values:{id:1,text:" lorem ipsum "} }, { table : "cde " , values : { id : 2 , firstname : "lorem ipsum dolor sit " } } ] '; 已尝试使用下面的正则表达式,但结果不是预期的 $json = pre
$json = '
insert: [
{ table:" abc",values:{id:1,text:" lorem ipsum "} },
{ table : "cde " , values : { id : 2 , firstname : "lorem ipsum dolor sit " } }
]
';
已尝试使用下面的正则表达式,但结果不是预期的
$json = preg_replace('~\s{1,}~', '', $json);
我喜欢下面的报税表
{"insert": [{"table": "abc", "values": {"id": 1, "text": "lorem ipsum"}}, {"table": "cde", "values": {"id": 2, "text": "lorem ipsum dolor sit"}}]}
然后使用json_decode()
我希望我已经说清楚了
更新:
$json_string = '
insert: [
{ table:" abc",values:{id:1,text:" lorem ipsum "} },
{ " table " : "cde " , " values" : { id : 2 , firstname : "lorem ipsum dolor sit " } }
]
';
{"insert": [{"table": " abc","values": {"id": 1,"text": " lorem ipsum "} },{"table": "cde " ,"values": {"id": 2 ,"firstname": "lorem ipsum dolor sit " } }]}
Array
(
[insert] => Array
(
[0] => Array
(
[table] => abc
[values] => Array
(
[id] => 1
[text] => lorem ipsum
)
)
[1] => Array
(
[table] => cde
[values] => Array
(
[id] => 2
[firstname] => lorem ipsum dolor sit
)
)
)
)
我有下面的字符串
$json = '
insert: [
{ table:" abc",values:{id:1,text:" lorem ipsum "} },
{ table : "cde " , values : { id : 2 , firstname : "lorem ipsum dolor sit " } }
]
';
示例:
$json_string = '
insert: [
{ table:" abc",values:{id:1,text:" lorem ipsum "} },
{ " table " : "cde " , " values" : { id : 2 , firstname : "lorem ipsum dolor sit " } }
]
';
{"insert": [{"table": " abc","values": {"id": 1,"text": " lorem ipsum "} },{"table": "cde " ,"values": {"id": 2 ,"firstname": "lorem ipsum dolor sit " } }]}
Array
(
[insert] => Array
(
[0] => Array
(
[table] => abc
[values] => Array
(
[id] => 1
[text] => lorem ipsum
)
)
[1] => Array
(
[table] => cde
[values] => Array
(
[id] => 2
[firstname] => lorem ipsum dolor sit
)
)
)
)
我想要以下输出
$json_replaced = '{"insert": [{"table": "abc", "values": {"id": 1, "text": "lorem ipsum"}}, {"table": "cde", "values": {"id": 2, "text": "lorem ipsum dolor sit"}}]}';
以下内容适用于您:
$json = '
insert: [
{ table:" abc",values:{id:1,text:" lorem ipsum "} },
{ table : "cde " , values : { id : 2 , firstname : "lorem ipsum dolor sit " } }
]
';
$json = '{' . $json . '}';
$json = preg_replace(array('/ *\n */', '/(?<=[{,]) *([^\s:]+) *: */'),
array("", '"$1": '), $json);
echo $json; // converted json string
print_r(json_decode($json, true)); // decoded array
您不能运行以下命令: $json_string=preg_replace(“/\s{2,}/”,“”,$json_string) 输出为:
insert: [{ table:" abc",values:{id:1,text:" lorem ipsum "} },{"table":"cde ","values":{ id: 2, firstname:"lorem ipsumdolor sit" } }]
从何处/如何获取
$json
值?我认为这是可能的。正如你们从上面的输出可以看到的,它工作得很好。但如果你的输入Json与post不一样,我可以在明天早上调试。我必须做出改进,但这对我有好处。如果您能进一步改进正则表达式,我将非常感激。很高兴知道它是有效的,请考虑将其标记为“接受”,这样将来面对类似问题的用户将能够轻松地看到它。如果您想清理引号之间的间距,那么也要运行一个正则表达式,所以不超过2行代码。今天我碰到了我自己的问题——我的答案正确,当前标记的答案无效。