我试图在此json文件中替换model
的值。 json文件包含:
{
"model": {
"template": "model.txt",
"directory": "app/models",
"filename": "{{Entity}}.php"
},
我试图使用以下正则表达式替换它并且无法使其匹配...
$json = preg_replace('/"model": \{(.*?)\},/i', '"model": false', $json);
我知道我可以在解码后更改此值,这是处理此问题的理想方法。由于各种原因,运行此正则表达式将是处理此特定解决方案的最简单方法。
以下是我正在使用的内容:
$json = file_get_contents($path);
$json = preg_replace('/"model": \{(.*?)\},/i', '"model": false', $json);
var_dump($json);
exit;
答案 0 :(得分:1)
这些应该有效:
第一种模式不会限制"model"
中的项目数量:
preg_replace('/("model.*\{.*(\n.*)+?\n.+\},)/', '"model": false', $json);
这将特别限制匹配示例中的行数:
preg_replace('/("model.*\{.*(\n.*){3}\n.+\},)/', '"model": false', $json);
答案 1 :(得分:0)
$ajson=json_decode($json);
$ajson['model']=false;
$json=json_encode($ajson);