'score' => '[{"key":"1","value":"10"},{"key":"2","value":"20"}]',用PHP来实现 preg_replace正则替换
时间: 2023-07-09 11:53:55 浏览: 96
PHP 字符串正则替换函数preg_replace使用说明
可以使用下面的代码来实现 preg_replace 正则替换:
```php
// 原始的JSON数据
$json_data = '{"score":[{"key":"1","value":"10"},{"key":"2","value":"20"}]}';
// 进行正则替换
$replaced_json_data = preg_replace('/(?<!\\\\)"/', '\\"', $json_data);
$replaced_json_data = preg_replace('/(?<=\w):/', '":"', $replaced_json_data);
$replaced_json_data = preg_replace('/(?<!\\\\)",/', '","', $replaced_json_data);
$replaced_json_data = preg_replace('/\[(.*?)\]/', '[$1]', $replaced_json_data);
// 输出替换后的结果
echo $replaced_json_data;
```
这段代码会将 `score` 属性值中的双引号转义,将 `key` 和 `value` 属性名和属性值之间的 `:` 替换成 `":"`,将属性之间的 `,` 替换成 `","`,然后将 `[]` 中间的空格去掉,以符合 JSON 标准格式。
值得注意的是,在进行正则替换时,需要注意转义符号 `\` 的使用。另外,如果 JSON 数据中含有中文字符,则需要将字符集编码设置为 UTF-8。
阅读全文