我在PHP上遇到了下一个问题:
我需要使用'[]'而不是空值来获取JSON字符串,因此我需要使用常规表达式来匹配空值并使用preg_replace将它们更改为“[]”。
json的一个例子可能是这样的:
[{"id":"8176","token":"","name":null},...]
我用正则表达式试了这么久但我找不到正确的
结果应该像
[{"id":"8176","token":"[]","name":"[]"},...]
答案 0 :(得分:-1)
这会将""
或null
替换为"[]"
。
$re = '/(\"\"|null)/';
$str = '[{"id":"8176","token":"","name":null},...]';
$subst = '\\"\\[\\]\\"';
$result = preg_replace($re, $subst, $str);
echo $result;
https://regex101.com/r/jzYyKE/1/
或者使用str_replace:
$find = array('""', 'null');
$repl = '"[]"';
$str = '[{"id":"8176","token":"","name":null},...]';
$result = str_replace($find, $repl, $str);
echo $result;