使用PHP脚本修改yaml文件

mat*_*ths 4 php yaml symfony

我有一个带有以下数据的common.yml文件:

main:
  shred:
    viral:
      image1:
        alt: Sunset
        src: 'http://i.imgur.com/nOptw.jpg'
      image2:
        alt: Fernie
        src: 'http://i.imgur.com/yfJaUoX.gif'
Run Code Online (Sandbox Code Playgroud)

我正在尝试创建一个php脚本,它将'src'属性编辑为新图像,我从我下载的新json文件中获取.问题是如何编辑这两个图像的src.我试图使用Symfony Yaml组件Dumper,但不知道如何使用它来更新我的文件的特定部分.

请帮忙.....

Per*_*ult 9

正如您所说,您必须使用Symfony Yaml组件.

例如,您可以访问"src"数据:

$yaml = Yaml::parse(file_get_contents($this->container->get('kernel')->getRootDir() .'/config/common.yml'));

$srcData = $yaml['main']['schred']['viral']['image1']['src'];
Run Code Online (Sandbox Code Playgroud)

在这里,您的数据可以访问=' http://i.imgur.com/nOptw.jpg '.接下来,您可以更改值并更新文件:

$yaml['main']['schred']['viral']['image1']['src'] = $yourNewValue;

$new_yaml = Yaml::dump($yaml, 5);

file_put_contents($this->container->get('kernel')->getRootDir() .'/config/common.yml', $new_yaml);
Run Code Online (Sandbox Code Playgroud)

希望这可以帮到你